Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
每项MySQL计数_Mysql_Sql - Fatal编程技术网

每项MySQL计数

每项MySQL计数,mysql,sql,Mysql,Sql,我目前正在尝试通过以下方式进行mysql查询,以计算每个项目的0和1的数量: 表: 我想要的结果是: Poll | one | zero ---------------------------------- 1 | 2 | 1 2 | 1 | 1 谢谢你的帮助 试试这个 select table.pollid, Switch(table.value L

我目前正在尝试通过以下方式进行mysql查询,以计算每个项目的0和1的数量: 表:

我想要的结果是:

    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