簡體   English   中英

獲得計數的案例說明

[英]CASE STATEMENT FOR GETTING COUNT

我正在嘗試計算一年中每個月完成的帳戶數量與開始的帳戶數量。

我表中的列eventlabel提供了開始和完成的信息,所以想使用它並計算當月有多少開始和完成了多少。

我想計算該特定月份有多少事件標簽“開始”,以及該月有多少事件標簽“完成”,並在新列中給出計數值,重命名如下。

我想要以下方式的結果:

month year acc_start acc_completed
----------------------------------
09    2021  10         9
11    2021  40         30
12    2021  20         15

這是我使用的查詢,但不成功:

SELECT
    month, year,
    CASE 
        WHEN eventLabel = 'new registration - completed' 
            THEN COUNT(*) AS acc_completed
        WHEN eventLabel = 'new registration - start' 
            THEN COUNT(*) AS acc_start 
    END 
FROM
    tbl_hits
GROUP BY  
    snapshot_month, snapshot_year

請幫忙。

select month,year,
   count(CASE WHEN eventLabel='new registration - completed' 
              THEN 1 END) as acc_completed,
   count(WHEN eventLabel='new registration - start'
              THEN 1 END) as acc_start 
from tbl_hits
group by snapshot_month,snapshot_year

聚合函數(在本例中為 COUNT)之外的所有內容都必須在 GROUP BY 中,因此我們將檢查移到 COUNT 中。 如果條件不滿足,CASE WHEN 的結果是 NULL 並且 COUNT 將被忽略。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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