📜  SQL |通过…分组(1)

📅  最后修改于: 2023-12-03 15:05:18.265000             🧑  作者: Mango

SQL | 通过分组

简介

在 SQL 中,通过使用 GROUP BY 子句可以根据一个或多个列对查询结果进行分组。通过分组,我们可以根据某些条件将数据进行分类,并对每个分类进行聚合计算。

语法

下面是使用 GROUP BY 子句的基本语法:

SELECT column1, column2, ..., aggregate_function(column)
FROM table
WHERE conditions
GROUP BY column1, column2, ...

在上面的语法中:

  • column1, column2, ... 是需要进行分组的列名。
  • aggregate_function(column) 是聚合函数,用于对每个组进行计算。
  • table 是要查询的表名。
  • conditions 是查询的其他筛选条件。
示例

假设我们有一个名为 employees 的表,其中存储了员工的信息,包括员工姓名和所属部门。我们想要按部门对员工进行分组,并计算每个部门的平均工资。

SELECT department, AVG(salary) AS average_salary
FROM employees
GROUP BY department;

在上面的示例中,我们首先选取了 departmentsalary 列。然后使用 AVG() 聚合函数计算每个部门的平均工资,并使用 AS 关键字为计算结果命名为 average_salary。最后使用 GROUP BY 子句按部门分组。

常用的聚合函数

以下是一些常用的聚合函数:

  • COUNT(column):计算某列的非空值数目。
  • SUM(column):计算某列的数值之和。
  • AVG(column):计算某列的平均值。
  • MAX(column):找出某列的最大值。
  • MIN(column):找出某列的最小值。
注意事项

在使用 GROUP BY 子句时,需要注意以下几点:

  • 选择的列必须是 GROUP BY 子句中的列或聚合函数的参数。
  • GROUP BY 子句必须位于 WHERE 子句之后,在 SELECT 子句之前。
  • GROUP BY 子句可以同时指定多个列,将多个列的值进行组合作为分组条件。
结论

通过本文,你了解了在 SQL 中使用 GROUP BY 子句对查询结果进行分组的方法。你学到了基本的语法,示例和常用的聚合函数。使用 GROUP BY 可以帮助你根据特定的条件对数据进行分类和聚合计算,进一步扩展了 SQL 的功能。