[英]How I can count with GROUP BY and condition in MySQL
您可以先為每個_legajo
選擇MIN
和MAX
:
SELECT _legajo, MIN(_count), MAX(_count)
FROM signups
GROUP BY _legajo;
如果MAX
為零,則自然屬於zero
類別。 如果MIN
大於零,則它屬於complete
類別(然后MAX
自然大於零)。 如果MIN
為零而MAX
不為零,則它處於正常track
。
然后,您可以使用SUM
來確定符合條件的計數:
SELECT
SUM(CASE WHEN min>0 THEN 1 ELSE 0 END) as complete,
SUM(CASE WHEN max=0 THEN 1 ELSE 0 END) as zero,
SUM(CASE WHEN min=0 AND max>0 THEN 1 ELSE 0 END) as track
FROM (SELECT _legajo, MIN(_count), MAX(_count)
FROM signups
GROUP BY _legajo) a;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.