簡體   English   中英

使用group by后計算多列

[英]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並加入結果,但是我還有另一個類似的列,這將太冗長

大多是正確的,所需要endcase

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM