[英]count multi-column after using group by
我正在查詢中進行計數
在分組后,我需要在不同條件下兩次計數FLOW_ID:
select count(distinct flow_id) as work_sum,
count(distinct case when ISHANDLE=2 THEN FLOW_ID) AS ERROR_SUM
FROM Table A group by ALERT_USER
第一列用於計算不同的flow_id,第二列用於計算不同的flow_id,其中ISHANDLE = 2列
但我的SQL無法正常工作,有人可以幫忙嗎? ks
順便說一句:我知道我可以編寫兩個sql並加入結果,但是我還有另一個類似的列,這將太冗長
大多是正確的,所需要end
的case
。
select count(distinct flow_id) as work_sum,
count(distinct (case when ISHANDLE=2 THEN FLOW_ID END)) AS ERROR_SUM
FROM Table A group by ALERT_USER
您可以使用IF函數。
select count(distinct flow_id) as work_sum,
count(distinct IF(ISHANDLE=2, FLOW_ID, NULL)) as ERROR_SUM
FROM
Table as A
GROUP BY
ALERT_USER
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.