每项MySQL计数
我目前正在尝试通过以下方式进行mysql查询,以计算每个项目的0和1的数量: 表: 我想要的结果是:每项MySQL计数,mysql,sql,Mysql,Sql,我目前正在尝试通过以下方式进行mysql查询,以计算每个项目的0和1的数量: 表: 我想要的结果是: Poll | one | zero ---------------------------------- 1 | 2 | 1 2 | 1 | 1 谢谢你的帮助 试试这个 select table.pollid, Switch(table.value L
Poll | one | zero
----------------------------------
1 | 2 | 1
2 | 1 | 1
谢谢你的帮助 试试这个
select table.pollid,
Switch(table.value Like 1, 1)AS one,
Switch(table.value Like 0, 1)AS zero
from table
group by pollid
这是MySQL中最短的答案,因为它支持布尔运算
SELECT PollID,
SUM(value = 1) AS `One`,
SUM(value = 0) AS `Zero`
FROM tableName
GROUP BY PollID
select z.pollid,z.ones,s.zeros
from (select a.pollid,count(a.value) as ones from test a
where a.value=1
group by a.pollid) z
left join
(select b.pollid,count(b.value) as zeros from test b
where b.value=0 group by b.pollid) s
on z.pollid=s.pollid;
SELECT PollID,
SUM(value = 1) AS `One`,
SUM(value = 0) AS `Zero`
FROM tableName
GROUP BY PollID