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
相关推荐
倔强的石头1065 分钟前
生产环境排坑实录:SQL 标量子查询的“静默杀手”与优化器的智能推演
数据库·sql
jnrjian6 分钟前
控制用户alter user 修改密码的两种办法 dbv and triggers
数据库·oracle
米高梅狮子8 分钟前
01.mysql的备份与恢复
运维·数据库·mysql·docker·容器·kubernetes·github
得物技术14 分钟前
Claude Code Harness 工程:数仓侧落地方案|得物技术
数据库·人工智能·ai编程
vennnnnnnnnnnnnn27 分钟前
Excel 导入原文保留与内联排名配置问题复盘
前端·数据库·excel
Tirzano30 分钟前
批量查询在线成员对应节点redis
数据库·redis·junit
夕除35 分钟前
spring boot 9
java·mysql·spring
夜雪闻竹42 分钟前
语义搜索实战:从关键词到向量检索
数据库·知识图谱·ai编程·knowledge graph
GreatSQL社区1 小时前
解决 GreatSQL 报错:存储过程字符集排序规则不兼容问题
数据库