MySQL——聚合函数及分组过滤

聚合函数(常用)

|----------|--------|
| 函数名称 | 描述 |
| COUNT() | 计数 |
| SUM() | 求和 |
| AVG() | 平均值 |
| MAX() | 最大值 |
| MIN() | 最小值 |
| ... | ... |

sql 复制代码
-- 都能够统计表中的数据(查询表中有多少个记录)
SELECT COUNT(studentname) FROM student  -- COUNT(字段),会忽略所有的NULL值 
SELECT COUNT(*) FROM student  -- COUNT(*) ,不会忽略NULL值,本质是计算行数
SELECT COUNT(1) FROM result  -- COUNT(1),不会忽略NULL值

SELECT sum(studentresult) AS 总和 FROM result
SELECT avg(studentresult) AS 平均分 FROM result
SELECT max(studentresult) AS 最高分 FROM result
SELECT min(studentresult) AS 最低分 FROM result

分组和过滤

sql 复制代码
-- 查询不同科目的平均分,最高分和最低分,平均分大于80
-- 核心:(根据不同的课程分组)
SELECT subjectname,AVG(studentresult) AS 平均分,MAX(studentresult) AS 最高分,MIN(studentresult) AS 最低分
FROM result r
INNER JOIN `subject` sub
ON r.`subjectno` = sub.`subjectno`
GROUP BY r.`subjectno`  -- 通过什么字段来分组
HAVING 平均分>80
相关推荐
m0_7020365314 小时前
golang如何测试私有函数_golang私有函数测试方法
jvm·数据库·python
kexnjdcncnxjs14 小时前
JavaScript中configurable对属性删除与修改的控制
jvm·数据库·python
2301_8125396714 小时前
CSS如何处理响应式侧边栏宽度_通过CSS变量实现自动收缩
jvm·数据库·python
老纪14 小时前
SQL关联查询中处理多对多关系的方案_使用中间表进行JOIN
jvm·数据库·python
阿正呀14 小时前
如何清洗SQL输入数据_使用框架内置的ORM处理数据交互
jvm·数据库·python
2301_8125396714 小时前
c++怎么读取安卓系统Assets目录下的资源文件流数据【实战】
jvm·数据库·python
dishugj14 小时前
HANA数据库常用命令总结
java·前端·数据库
m0_7407963614 小时前
MongoDB节点一直处于RECOVERING状态怎么排查_Oplog陈旧与全量同步失败
jvm·数据库·python
2301_8159019714 小时前
Go语言怎么做秒杀系统_Go语言秒杀系统实战教程【实用】
jvm·数据库·python