我有這個疑問,我都數不過來多個字段多計數
select
distinct(custsegment),
(select count(distinct clid) from call_log where enteredon = '16-JUL-13') as UniqCalls,
(select count(disconnectflag) from call_log where disconnectflag='IVR' and enteredon = '16-JUL-13') as IvrCalls,
(select count(callerid) from call_log where enteredon = '16-JUL-13') as TotalCalls
from call_log
where enteredon = '16-JUL-13'
輸出是
CUSTSEGMENT UNIQCALLS IVRCALLS TOTALCALLS
------------ ---------- ---------- ----------
PRIORITY 12 6 12
NORMAL 12 6 12
但出現問題就像我得到了優先級和師範相同的值CUSTSEGMENT,我也不確定這是否是正確的計算方法。請建議。
你distinct'表明,你認爲它適用於關鍵字'的'定位僅custsegment',但這種情況並非如此。它只是不重複結果集中的記錄,比較所有列。 – GolezTrol
@GolezTrol:這是做這件事的正確方式還是其他方法?我通常使用MSSQL,在Oracle上度過難關...... –
同樣適用於MSSQL或任何數據庫。查詢本身並不是錯誤的,但是您的縮進和括號的使用表明您誤解了「distinct」關鍵字。 – GolezTrol