本文轉自MYSQL|count()函數使用條件分別統計
在一條語句中統計出符合不同條件的行:
select class1_id
,class1_name
,class2_id
,class2_name
,run_id
,count(run_id) as count_all#提交數
,count(run_ok>0 or null) as count_done#處理數
,count(run_ok=1 or null) as count1#合格數
,count(run_ok=2 or null) as count2#不合格數
from `class2`
join `class1` on class2_class1_id=class1_id
left join `run` on run_class2_id=class2_id and date(run_addtime) between '$s_date1' and '$s_date2'
group by class2_id
order by class1_id,class2_id
輸出結果: