MySQL学习笔记(四)

    xiaoxiao2022-07-06  193

    巧用聚合函数count

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

    这是一个存放学生成绩的表,我现在要统计总人数,优秀的,合格的,不及格的人数。 代码:(注意,条件后一定要加上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'

    运行结果: 欢迎指正!

    最新回复(0)