首页  >  问答  >  正文

mysql 一个sql 返回多个总数

文章链接:https://segmentfault.com/a/11...
说道:
一个sql 返回多个总数
$sql = "select count(*) all, " ;
$sql .= " count(case when status = 1 then status end) status_1_num, ";
$sql .= " count(case when status = 2 then status end) status_2_num ";
$sql .= " from table_name";

疑问:这条sql是否有问题,我去尝试了,报错,以前类似查询我都用多天sql的,这种都没写过,疑问多多!

ringa_leeringa_lee2742 天前987

全部回复(3)我来回复

  • 阿神

    阿神2017-04-17 16:10:37

    all果然是关键字 换个就好了
    如果是要每个status的总数select status,count(*) status_num from table where status in (1,2) group by status;

    回复
    0
  • 高洛峰

    高洛峰2017-04-17 16:10:37

    别名使用AS
    count(*) AS number

    回复
    0
  • PHPz

    PHPz2017-04-17 16:10:37

    select count(*) all有问题
    all是mysql的关键字,改成别的名字即可

    回复
    0
  • 取消回复