GROUP BY 子句用于将查询结果按指定列进行分组。它常常与聚合函数(如 COUNTSUMAVG 等)一起使用,以便在每个组内进行计算和统计。GROUP BY 是处理分组数据的强大工具,广泛用于报表和统计查询。


📚 目录

  1. GROUP BY 子句简介
  2. 基本语法结构
  3. 使用聚合函数
  4. GROUP BY 与 HAVING 子句结合使用
  5. 参考资料与链接

1. GROUP BY 子句简介

GROUP BY 子句将查询结果中的数据按指定列分组。每个组内的记录将作为一个单元进行处理。在每个组内,通常会应用聚合函数(如 COUNTSUMAVG 等)来计算该组的相关信息。


2. 基本语法结构

SELECT 列名, 聚合函数(列名) FROM 表名 GROUP BY 列名;

  • 列名:指定进行分组的列。
  • 聚合函数:用于计算每个组的统计信息,如 COUNTSUMAVG 等。

示例

SELECT city, COUNT(*) FROM users GROUP BY city;

此语句将返回每个城市的用户数量。


3. 使用聚合函数

GROUP BY 通常与聚合函数一起使用。常见的聚合函数包括:

  • COUNT():计算组内的记录数。
  • SUM():计算组内数值列的总和。
  • AVG():计算组内数值列的平均值。
  • MAX():返回组内数值列的最大值。
  • MIN():返回组内数值列的最小值。

示例

SELECT city, AVG(age) FROM users GROUP BY city;

此语句将返回每个城市的平均年龄。


4. GROUP BY 与 HAVING 子句结合使用

HAVING 子句用于对 GROUP BY 结果进行过滤。它与 WHERE 子句类似,但 WHERE 子句用于过滤单个记录,而 HAVING 用于过滤分组后的结果。

示例

SELECT city, COUNT(*) FROM users GROUP BY city HAVING COUNT(*) > 5;

此语句将返回包含超过 5 个用户的城市。


5. 参考资料与链接