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
相关推荐
guodingdingh4 小时前
软件开发工作问题总结0718
java·开发语言·数据库
GuWenyue6 小时前
Cursor黑盒拆解!1套LangChain.js手写Mini编程Agent,自动生成React项目,效率提升60%
前端·数据库·人工智能
Miao121318 小时前
某海外住宿平台如何在大规模场景下实现指标一致性:Minerva 指标平台实践
大数据·数据库·人工智能
CodexDave8 小时前
MySQL事务隔离级别与MVCC机制解析
前端·数据库·mysql·nginx·性能优化·负载均衡
碎光拾影8 小时前
ARM交叉工具链各工具作用及IMX6ULL平台LED+蜂鸣器裸机程序实现
java·开发语言·数据库
曾阿伦8 小时前
MongoDB 查询语句备忘手册
数据库·mongodb
一叶龙洲8 小时前
wslg打开Ubuntu24.04默认打开图形界面
linux·服务器·数据库·ubuntu
CCPC不拿奖不改名9 小时前
大模型推理架构与开源生态知识整理
数据库·windows·python·架构·langchain·开源·github
爬也要爬着前进10 小时前
redis主从搭建
数据库·redis·缓存
@Mike@11 小时前
02-数据库学习笔记(SQL引擎)
数据库·笔记·学习