📌  相关文章
📜  T-SQL-GROUP BY子句

📅  最后修改于: 2020-12-29 04:50:33             🧑  作者: Mango


SQL Server GROUP BY子句与SELECT语句配合使用,以将相同的数据分组。

GROUP BY子句在SELECT语句中的WHERE子句之后,并在ORDER BY子句之前。

句法

以下是GROUP BY子句的基本语法。 GROUP BY子句必须遵循WHERE子句中的条件,并且如果使用ORDER BY子句,则必须在ORDER BY子句之前。

SELECT column1, column2 
FROM table_name 
WHERE [ conditions ] 
GROUP BY column1, column2 
ORDER BY column1, column2 

考虑CUSTOMERS表具有以下记录-

ID  NAME       AGE       ADDRESS          SALARY 
1   Ramesh     32        Ahmedabad        2000.00 
2   Khilan     25        Delhi            1500.00 
3   kaushik    23        Kota             2000.00 
4   Chaitali   25        Mumbai           6500.00 
5   Hardik     27        Bhopal           8500.00 
6   Komal      22        MP               4500.00 
7   Muffy      24        Indore           10000.00 

如果您想知道每个客户的工资总额,则下面是GROUP BY查询。

SELECT NAME, SUM(SALARY) as [sum of salary] FROM CUSTOMERS 
   GROUP BY NAME;

上面的命令将产生以下输出。

NAME        sum of salary 
Chaitali    6500.00 
Hardik      8500.00 
kaushik     2000.00 
Khilan      1500.00 
Komal       4500.00 
Muffy       10000.00 
Ramesh      2000.00

现在,让我们考虑下面的CUSTOMERS表,该表具有以下具有重复名称的记录。

ID  NAME       AGE       ADDRESS           SALARY 
1   Ramesh     32        Ahmedabad         2000.00 
2   Khilan     25        Delhi             1500.00 
3   kaushik    23        Kota              2000.00 
4   Chaitali   25        Mumbai            6500.00 
5   Hardik     27        Bhopal            8500.00 
6   Komal      22        MP                4500.00 
7   Muffy      24        Indore            10000.00 

如果我们想知道每个客户的工资总额,那么下面将是GROUP BY查询。

SELECT NAME, SUM(SALARY) as [sum of salary] FROM CUSTOMERS 
   GROUP BY NAME 

上面的命令将产生以下输出。

NAME        sum of salary 
Hardik      8500.00 
kaushik     8500.00 
Komal       4500.00 
Muffy       10000.00 
Ramesh      3500.00