ホームページ  >  に質問  >  本文

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日前988

全員に返信(3)返信します

  • 阿神

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

    all は確かにキーワードです。変更するだけです。
    各ステータスの合計数が必要な場合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
  • キャンセル返事