MYSQL单表中各记录总和统计 适用于报表

来源:互联网 发布:linux 小数比较大小 编辑:程序博客网 时间:2024/05/01 09:25

用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';

0 0