1. 程式人生 > >MYSQL單表中各記錄總和統計 適用於報表

MYSQL單表中各記錄總和統計 適用於報表

用case when then else 語句,用法如同if.

select sum(if(id<500,1,0)) as A,sum(if(id>=500 && id<1000,1,0)) as B from customer; 
+---+-----+
| A | B   |
+---+-----+
| 4 | 204 |
+---+-----+
1 row in set

這樣是按條件單個統計,為了解決UNION ALL 的問題 查到了用IF 的方法
SELECT  count(a.id) '合格'
FROM
tb a where a.ispassed='03';  -- 3得到有多少合格
SELECT  count(a.id) '不合格'
FROM
 tb a where a.ispassed='02';