2017-12-20 5 views
0

私はphpスクリプト内で実行されているかなり密なSQLクエリを持っていて、電話で従業員ごとの数値を集計し、CSVを作成してからPHPメーラ。Sql/phpスクリプト内でより具体的なレポートを作成する

これはうまくいきますが、私は、従業員ごとに合計レポートを作成する(つまり、レポート、フォーマットなどを効率化する)ことに任せています。今は基本的に各従業員のラインアイテムがあるので、従業員Aは32個のレコードを持ち、従業員Bには右に移動します。従業員Aのレコードの最後に値を合計する行を挿入するように変更する必要があります各列について。

私は、これはPHPを使用している可能性が高いと思いますが、これはPHPスクリプトに含まれているので、ここでそれを行う最良の方法はわかりません。残りのクエリ。

フィールド/列の変数を作成して、そのような方法でSUMを作成できるようになるとは思っていますが、私はそれを頭に入れています。

$result = mysqli_query($conn2, 
    "SELECT 
     FirstN 
     , LastN 
     , Extension 
     , Recieved 
     , Recieved_Known 
     , Outbound 
     , Outbound_Known 
     , Missed_No_VM 
     , Missed_VM 
     , Missed_Known 
     , Calling_Number 
     , Called_Number 
     , Start_Time 
     , End_Time 
     , Talk_Time_Seconds 
     , Hold_Time_Seconds 

     FROM (
      SELECT distinct 
      firstn 
      , lastn 
      , c.extension 
      , CASE WHEN LEGTYPE1 = 2 AND ANSWERED = 1 THEN 'x' ELSE '' END AS Recieved 
      , case when LEGTYPE1 = 2 and answered = 1 and CALLINGPARTYNO = k.phone_number then 'x' ELSE '' end as Recieved_Known 
      , CASE WHEN LEGTYPE1 = 1 then 'x' ELSE '' end AS Outbound 
      , case when FINALLYCALLEDPARTYNO = kn.long_number then 'x' ELSE '' end as Outbound_Known 
      , case when legtype1 = 2 and answered = 0 and finallycalledpartyno not like '%oice%' then 'x' ELSE '' end as Missed_No_VM 
      , case when finallycalledpartyno like '%oice%' then 'x' ELSE '' end as Missed_VM 
      , case when legtype1 = 2 and ANSWERED = 0 and CALLINGPARTYNO = k.phone_number then 'x' ELSE '' end as 
      Missed_Known 
      , a.CALLINGPARTYNO AS Calling_Number 
      , a.FINALLYCALLEDPARTYNO AS Called_Number 
      , b.starttime as Start_Time 
      , b.endtime as End_Time 
      , b.duration as Talk_Time_Seconds 
      , a.holdtimesecs as Hold_Time_Seconds 

      FROM ambition.session a 
      INNER JOIN ambition.callsummary b ON a.NOTABLECALLID = b.NOTABLECALLID 
      right join jackson_id.users c on a.callingpartyno = c.extension or a.finallycalledpartyno = c.extension 
      LEFT JOIN ambition.known_numbers k ON a.callingpartyno = k.phone_number 
     left join ambition.known_numbers kn on a.finallycalledpartyno = kn.long_number 
       WHERE a.ts >= '2017-12-07' -- curdate() 
       and(a.CALLINGPARTYNO in (select extension from ambition.ambition_users) OR a.finallycalledpartyno IN (select extension from ambition.ambition_users)) 
     ) x 
      order by extension;") or die(mysqli_error($conn2)); 

と現在のCSVのスクリーンショット:ここ

は、SQLスクリプトの一部です ​​

あなたはそれがエージェント7206にエージェント7200から行く見ることができるようにしかし、私はする必要があり各列にそれらのxを合計する行を挿入します。

+0

xの合計が何であるか理解できるように出力例を与えてください。 –

答えて

0

https://github.com/PHPOffice/PHPExcelライブラリを試してみてください。これはExcelファイルを作成するのに適しており、追加を行うための数式を追加することができます。希望が助けてくれる!

+0

私はCSVかExcelと思う、彼の質問ではない。 –

関連する問題