📜  SQL Server按条款分组

📅  最后修改于: 2020-12-02 05:00:29             🧑  作者: Mango

SQL Server GROUP BY子句

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”:

以下是表中一些插入数据的列表。

通过使用SUM函数进行分组

请参见以下示例,其中我们使用SUM函数从“ Employee2”中按部门分组:

SELECT department, SUM(salary) AS "Total salary"
  FROM [javatpoint].[dbo].[Employee2]
  GROUP BY department;  

输出:

使用COUNT函数进行分组

请参阅此示例,其中我们使用COUNT函数从“ Employee2”中指定GROUP BY:

SELECT designation, COUNT(*) AS "Number of employees"
FROM [javatpoint].[dbo].[Employee2]
GROUP BY designation;

输出:

使用MIN功能进行分组

请参阅此示例,其中我们根据部门使用MIN函数根据“ Employee2”的薪水分组。

这将根据部门检索最低工资:

SELECT department, MIN(salary) AS "Lowest salary"
FROM [javatpoint].[dbo].[Employee2]
GROUP BY department;  

输出:

使用MAX函数进行分组

请参见此示例,其中我们根据“ Employee2”使用MAX函数的薪水来按部门分组。

这将根据部门检索最高工资:

SELECT department, MAX(salary) AS "Highest salary"
FROM [javatpoint].[dbo].[Employee2]
GROUP BY department;  

输出: