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

相关推荐
APItesterCris11 分钟前
构建弹性数据管道:利用淘宝商品 API 进行流式数据采集与处理
linux·数据库·windows
九河云17 分钟前
TOS + 数字孪生:集装箱码头的智能进化密码
大数据·服务器·网络·数据库·数字化转型
手握风云-44 分钟前
MySQL数据库精研之旅第十九期:存储过程,数据处理的全能工具箱(二)
数据库·mysql
孟意昶1 小时前
Doris专题17- 数据导入-文件格式
大数据·数据库·分布式·sql·doris
你可以永远相信功夫熊猫1 小时前
金蝶云·星瀚 | 生产制造成本核算终极实操手册(从0到1,含两套完整案例)
数据库·erp
Thepatterraining1 小时前
MySQL零基础教程:DDL/DCL/DML详解,从建库到存储过程一篇搞定!
数据库·sql·mysql
想ai抽1 小时前
深入starrocks-怎样实现多列联合统计信息
java·数据库·数据仓库
jackletter1 小时前
待补充 五大关系数据库(sqlserver、mysql、oracle、pgsql、sqlite)的列类型:目录
mysql·oracle·sqlserver·sqlite·pgsql·列类型
Y4090012 小时前
MySQL中的“事务”
数据库·mysql
Raymond运维2 小时前
MySQL源码编译安装
linux·数据库·mysql