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

相关推荐
动亦定4 分钟前
微服务中如何保证数据一致性?
java·数据库·微服务·架构
瀚高PG实验室24 分钟前
timestampdiff (MYSQL)函数在Highgo DB中的写法
数据库·mysql·瀚高数据库
美人鱼战士爱学习30 分钟前
RODI: Benchmarking Relational-to-Ontology Mapping Generation Quality
数据库
Austindatabases34 分钟前
云数据库备份恢复验证,云数据库高端客户的需求说明
数据库
赵渝强老师44 分钟前
【赵渝强老师】MongoDB的数据类型
数据库·mongodb·nosql
驾数者1 小时前
Flink SQL模式识别:MATCH_RECOGNIZE复杂事件处理
数据库·sql·flink
还是鼠鼠1 小时前
SQL语句执行很慢,如何分析呢?
java·数据库·mysql·面试
czlczl200209251 小时前
如何添加“默认给Sql查询语句加上租户条件”的功能
数据库·python·sql
云和数据.ChenGuang1 小时前
批量给100台服务器装系统,还要完成后续的配置和软件部署
运维·服务器·开发语言·mysql
用户3521802454751 小时前
🚀 Milvus 实战部署全记录
数据库·docker·ai编程