要するに私は2つのテーブルを持っています:
ユーザー:
------------------------
UserID | Name
------------------------
0 a
1 b
2 c
CALLS:
------------------------
ToUser | Result
------------------------
0 ANSWERED
1 ENGAGED
1 ANSWERED
0 ANSWERED
など(実際の結果には数値参照を使用します)
特定のクライアントへの呼び出しの詳細を示す200万を超えるレコードがあります。現在、Caseステートメントを使用して、クイック合計カウントを実行した後、特定の結果の各繰り返しをカウントしています。
COUNT(DISTINCT l_call_log.line_id),
COALESCE (SUM(CASE WHEN l_call_log.line_result = 1 THEN 1 ELSE NULL END), 0) AS [Answered],
COALESCE (SUM(CASE WHEN l_call_log.line_result = 2 THEN 1 ELSE NULL END), 0) AS [Engaged],
COALESCE (SUM(CASE WHEN l_call_log.line_result = 4 THEN 1 ELSE NULL END), 0) AS [Unanswered]
最初の合計カウント後にデータのスキャンを3回実行していますか?もしそうなら、私が1回のスイープを実行し、1回の実行で結果ごとに呼び出しをカウントする方法はありますか?
ありがとう。