我有一张像......的桌子。
id cluster status
1 cluster_0 yes
2 cluster_0 no
3 cluster_0 yes
4 cluster_0 yes
5 cluster_1 no
6 cluster_5 yes
7 cluster_0 yes
8 cluster_8 no
...
...
...
我试图看到所有群集的计数和计数......
对于yescount,我可以使用像
这样的查询SELECT cluster,count(*) as yescount FROM `cluster` WHERE status='yes' group by cluster
cluster yescount
cluster_0 11
cluster_1 30
cluster_2 6
cluster_3 1
cluster_4 20
但是,我怎样才能像yescount一样显示nocount一边...
cluster yescount nocount
cluster_0 11 5
cluster_1 30 10
cluster_2 6 20
cluster_3 1 3
cluster_4 20 10
谢谢!
答案 0 :(得分:2)
您可以使用基于案例的聚合
在MySQL中,当状态='是'如果为false,则返回1表示true为0 所以我们可以使用sum(status =' yes')得到yes count。
select cluster,
sum(status='yes') as yescount,
sum(status='n') as nocount
from Table1
group by cluster