简体   繁体   English

sql group by 2字段计数?

[英]sql group by 2 field count?

name status a win a run a run b run b win b win c run c run c run d run d run e NA e run e win f NA f NA f NA

in mysql 在MySQL中

here I need to take the count of run also not win same for win and NA 在这里,我需要计算跑步次数,也无法将赢球和赢球相同

can anyone help me out? 谁能帮我吗?

EXPECTED OUTPUT WIN 3 RUN 2 NA 1 预期输出WIN 3 RUN 2 NA 1

TRIED qUERY SELECT a FROM data GROUP BY a HAVING ( COUNT(*) > 1 ) 尝试按从中SELECT a FROM data GROUP BY a HAVING ( COUNT(*) > 1 )

Try using conditional aggregation: 尝试使用条件聚合:

SELECT
    name,
    COUNT(CASE WHEN status = 'win' THEN 1 END) AS WIN,
    COUNT(CASE WHEN status = 'run' THEN 1 END) AS run,
    COUNT(CASE WHEN status = 'NA'  THEN 1 END) AS NA
FROM yourTable
GROUP BY
    name;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM