欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL学习笔记(四)

程序员文章站 2022-05-30 12:16:02
...

巧用聚合函数count

一直以来只知道count返回的是对某些数据的聚合,但是会遇到如下情况,比如我需要统计一个班有几个人分数优秀,几个良好,几个不及格,这时候会查询三次,其实可以一次搞定三次聚合,话不多说上例子。

MySQL学习笔记(四)
这是一个存放学生成绩的表,我现在要统计总人数,优秀的,合格的,不及格的人数。
代码:(注意,条件后一定要加上OR NULL 否则筛选无效,想知道为什么大家有兴趣的自己研究)

SELECT
	COUNT(1) AS total,
	COUNT(score >= 90 OR NULL) AS good,
	COUNT(score >= 60 AND score < 90 OR NULL) AS ok,
	COUNT(score < 60 OR NULL) AS terrible
FROM
	student
WHERE
	class = '1502'

运行结果:
MySQL学习笔记(四)
欢迎指正!