CSRの電話データを取得するための正確なクエリがありますが、1つのCSR拡張でのみテストしています。今は動作しているので、15のすべてのCSRにそれを適用したいと思います。Where句は2つの列のうちの1つで15種類の値を検索します
クエリ:
SELECT
sum(Duration) AS total_talk_time_seconds
, round(sum(Duration)/60,2) AS total_talk_time_minutes
, sum(if(LEGTYPE1 = 1,1,0)) AS total_outbound
, sum(if(LEGTYPE1 = 2,1,0) and ANSWERED = 1) AS total_inbound
FROM cdrdb.session a
INNER JOIN cdrdb.callsummary b
ON a.NOTABLECALLID = b.NOTABLECALLID
where date(b.ts) >= curdate()
AND 7200 in (callingpartyno, finallycalledpartyno);
は、しかし、私は私のwhere句を変更したいので、代わりの「拡張7200がcallingpartynoにある場所を選択し、finallycalledpartyno」それはselect the calls where (7276,7314,7295,7306,7357,7200,7218,7247,7331,7255,7330,7000,7215,7240,7358,7312) IN (callingpartyno, finallycalledpartyno)
を言うだろうと言ってしかし、私は知っていますその構文は15列を必要とするため動作しません。
は、ここでは簡単なアイデアのためのいくつかのサンプルデータです:例えば
callingpartyno | finallycalledpartyno
-------------------------------------
1234 outside
1234 outside
1234 outside
outsidecall 1234
outsidecall 1234
outsidecall 1234
9876 outside
9876 outside
9876 outside
outsidecall 9876
outsidecall 9876
outsidecall 9876
、内線番号1234が6つのコールを持っていますが、テーブルにあなただけのこれらの列の両方を含むことであることを知っているだろう。
拡張機能の配列にクエリを適用するには、どのような方法が最も正確でパフォーマンスに優れていますか?
アグリゲーションに関わるフォローアップの質問がある場合は、自由に新しい質問をしてください。 –