【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 子查询与嵌套查询,带你掌握更复杂的查询操作。

相关推荐
全栈老石9 小时前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
倔强的石头_1 天前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou642 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
于眠牧北2 天前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql
李广坤3 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
Turnip12024 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql
爱可生开源社区4 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1774 天前
《从零搭建NestJS项目》
数据库·typescript
加号35 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏5 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker