[英]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.