찾다

 >  Q&A  >  본문

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_lee2866일 전1087

모든 응답(3)나는 대답할 것이다

  • 阿神

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

    모두 키워드이니 바꿔보세요
    각 상태의 총 개수를 알고 싶다면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
  • 취소회신하다