【MySQL ✨】MySQL 入门之旅 · 第九篇:聚合函数与分组查询

本篇文章将讲解 MySQL 中常用的 聚合函数(Aggregate Functions)分组查询(GROUP BY),帮助你对数据进行统计分析。


目录

  1. 聚合函数简介
  2. 常用聚合函数
  3. [GROUP BY 分组查询](#GROUP BY 分组查询)
  4. [HAVING 条件过滤分组](#HAVING 条件过滤分组)
  5. 聚合函数常用示例对照表
  6. 小结

聚合函数简介

聚合函数用于对一组数据进行计算,并返回单一值。常用于统计、分析和报表场景。

MySQL 常用的聚合函数包括:

  • COUNT():计数
  • SUM():求和
  • AVG():平均值
  • MAX():最大值
  • MIN():最小值

常用聚合函数

1. COUNT()

计算行数或某列非 NULL 值的数量:

sql 复制代码
SELECT COUNT(*) FROM users;
SELECT COUNT(age) FROM users;

2. SUM()

计算数值列的总和:

sql 复制代码
SELECT SUM(age) FROM users;

3. AVG()

计算数值列的平均值:

sql 复制代码
SELECT AVG(age) FROM users;

4. MAX() 与 MIN()

查询最大值或最小值:

sql 复制代码
SELECT MAX(age) FROM users;
SELECT MIN(age) FROM users;

GROUP BY 分组查询

GROUP BY 将数据按指定列分组,并对每组进行聚合计算。例如:

sql 复制代码
SELECT city, COUNT(*) AS user_count
FROM users
GROUP BY city;

按城市统计用户数量。


HAVING 条件过滤分组

HAVING 用于对分组后的结果进行条件过滤,类似于 WHERE 但作用于聚合结果:

sql 复制代码
SELECT city, COUNT(*) AS user_count
FROM users
GROUP BY city
HAVING user_count > 5;

只返回用户数量大于 5 的城市。


聚合函数常用示例对照表

功能 SQL 示例 说明
计数 SELECT COUNT(*) FROM users; 返回总行数
求和 SELECT SUM(age) FROM users; 返回年龄总和
平均值 SELECT AVG(age) FROM users; 返回平均年龄
最大值 SELECT MAX(age) FROM users; 返回最大年龄
最小值 SELECT MIN(age) FROM users; 返回最小年龄
分组计数 SELECT city, COUNT(*) FROM users GROUP BY city; 按城市分组计数
分组过滤 SELECT city, COUNT(*) FROM users GROUP BY city HAVING COUNT(*)>5; 分组后筛选

小结

本篇文章介绍了 MySQL 中 聚合函数分组查询 的基础知识。掌握这些技能,你就可以轻松统计、分析数据,为数据报表和分析提供支持。


📘 下一篇,我们将学习 MySQL 子查询与嵌套查询,带你掌握更复杂的查询操作。

相关推荐
AOwhisky1 天前
MySQL 学习笔记(第四期):SQL 语言之多表查询
linux·运维·网络·数据库·笔记·学习·mysql
小红卒1 天前
mysql之udf提权
数据库·mysql·网络安全
Trouvaille ~1 天前
【Redis篇】Redis 哨兵(Sentinel):高可用自动故障转移
数据库·redis·缓存·中间件·sentinel·高可用·哨兵
qfljg1 天前
oracle 迁移到postgres
数据库·oracle
giaz14n9X1 天前
Redis 分布式锁进阶第五十七篇
数据库·redis·分布式
剑神一笑1 天前
Linux ls 命令深度解析:从目录遍历到颜色输出的实现原理
linux·服务器·数据库
Maynor9961 天前
Codex API 网关迁移与流量优化实战
数据库·oracle
WyCAGy8ij1 天前
Redis 分布式锁进阶第二篇讲解
数据库·redis·分布式
南极企鹅1 天前
MySQL的两大支柱:undo Log&redo log
数据库·mysql·oracle
智航GIS1 天前
ArcGIS大师之路500技---078文件数据库的加密与解密
数据库·arcgis