case when , Sum和Count的区别
2018-02-09 19:40
711 查看
case when 的语法结构:
CASE WHEN Condition THEN result[ WHEN Condition THEN result ]
THEN result #其他的
END #结束
表数据如下:
看看俩个sql 语句和其相应的结果:
SUM:SELECT SUM(case WHEN age < 20 THEN 1 ELSE 0 END ) AS mini, SUM(case WHEN age > 20 AND age < 60 THEN 1 ELSE 0 END) AS high FROM person
查询结果为:
COUNT:SELECT COUNT(case WHEN age < 20 THEN 1 ELSE 0 END ) AS mini, COUNT(case WHEN age > 20 AND age < 60 THEN 1 ELSE 0 END) AS high FROM person 查询结果为:
这俩条 sql 语句 case when 的意思是
对满足年龄 < 20 条件的返回 1,否则返回 0; 对满足年龄 > 20 且 < 60的返回 1,否则返回 0。
但结果却不一致。
SUM 是对结果集的相加求和;
COUNT 是对结果集的统计数目。
所以 SUM 的值是 1,2; 而 COUNT 的值都是 4,即所有记录。
相关文章推荐
- Mysql中的count()与sum()区别
- mysql count 和sum 的区别
- count, sum和 if,case when
- SQL语句中SUM与COUNT的区别
- 用count(*)还是count(列名) || Mysql中的count()与sum()区别
- SQL语句case when外用sum与count的区别
- sql - sum() 和 count() 函数的区别
- SQL语句中SUM与COUNT的区别
- Mysql中的count()与sum()区别详细介绍
- SQL语句中SUM与COUNT的区别深入分析
- Mysql中的count()与sum()区别
- Mysql中的count()与sum()区别详细介绍
- oracle 中sum和count的区别
- 数据库中sum和count的区别
- Mysql中的count() 与sum()区别
- oracle sum count 的区别
- sum 与 count 配合case when 的区别
- 实际中来总结sql里面 sum 和 count区别
- sql中sum()和count()的区别