私は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を合計する行を挿入します。
xの合計が何であるか理解できるように出力例を与えてください。 –