SQL Server GROUP BY子句用法图解

本文概述

  • 参数说明
  • 使用SUM函数进行分组
  • 使用COUNT函数进行分组
  • 使用MIN功能进行分组
  • 使用MAX函数进行分组
SQL Server GROUP BY子句用于收集多个记录中的数据, 并将结果按一列或多列分组。它与SELECT语句一起使用。
句法:
SELECT expression1, expression2, ... expression_n, aggregate_function (expression)FROM tables[WHERE conditions]GROUP BY expression1, expression2, ... expression_n;

参数说明 expression1, expression2, … expression_n:这些表达式未封装在聚合函数中, 必须包含在GROUP BY子句中。
aggregate_function:它可以是SUM, COUNT, MIN, MAX或AVG函数之类的函数。
表格:你希望从中检索记录的表格。在FROM子句中必须至少列出一个表。
条件:它是可选的。选择记录必须满足的条件。
例:
首先创建一个表” Employee2″ :
SQL Server GROUP BY子句用法图解

文章图片
以下是表中一些插入数据的列表。
SQL Server GROUP BY子句用法图解

文章图片
使用SUM函数进行分组 请参见以下示例, 其中我们使用SUM函数从” Employee2″ 中按部门分组:
SELECT department, SUM(salary) AS "Total salary"FROM [srcmini].[dbo].[Employee2]GROUP BY department;

输出
SQL Server GROUP BY子句用法图解

文章图片
使用COUNT函数进行分组 请参阅以下示例, 其中我们使用COUNT函数从” Employee2″ 中指定GROUP BY:
SELECT designation, COUNT(*) AS "Number of employees"FROM [srcmini].[dbo].[Employee2]GROUP BY designation;

输出
SQL Server GROUP BY子句用法图解

文章图片
使用MIN功能进行分组 请参见此示例, 其中我们使用MIN函数根据” Employee2″ 中的薪水分组部门。
这将根据部门检索最低工资:
SELECT department, MIN(salary) AS "Lowest salary"FROM [srcmini].[dbo].[Employee2]GROUP BY department;

输出
SQL Server GROUP BY子句用法图解

文章图片
使用MAX函数进行分组 请参见此示例, 其中我们根据” Employee2″ 使用MAX函数的薪水来按部门分组。
这将根据部门检索最高工资:
SELECT department, MAX(salary) AS "Highest salary"FROM [srcmini].[dbo].[Employee2]GROUP BY department;

【SQL Server GROUP BY子句用法图解】输出
SQL Server GROUP BY子句用法图解

文章图片

    推荐阅读