SQL Server GROUP BY 子句与SELECT语句配合使用,将相同的数据排列成组.
GROUP BY子句遵循WHERE子句在SELECT语句中并在ORDER BY子句之前.
语法
以下是GROUP BY子句的基本语法. GROUP BY子句必须遵循WHERE子句中的条件,并且必须在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
如果你想知道每个顾客的工资总额,那么llowing将是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 [salary 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