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
相关推荐
D3bugRealm12 小时前
pgvector:PostgreSQL 原生向量搜索扩展
数据库·其他·postgresql
Java面试题总结13 小时前
PostgreSQL 性能调优:内存、I/O 与连接管理
数据库·postgresql
北秋,13 小时前
Oracle 数据库基础用法
数据库·oracle
CLX050513 小时前
C#怎么实现全局异常过滤器_C#如何捕获控制器报错【核心】
jvm·数据库·python
多加点辣也没关系13 小时前
设计模式-享元模式
数据库·设计模式·享元模式
牢七13 小时前
Mailvelope
数据库
阿里云瑶池数据库13 小时前
如何破解多租户隔离与性能难题?PolarDB PostgreSQL实战指南
数据库·postgresql
倔强的石头_13 小时前
异构操作系统架构下的数据库表空间高级管理:路径兼容与自动化运维实战
数据库
倒霉熊dd13 小时前
Python 学习(第二部分:函数、模块与面向对象编程)
前端·数据库·python
无盐海14 小时前
Foundatio,内存,Redis 缓存
数据库·redis·缓存