SQL Server GROUP BY子句與SELECT語句協作使用,以将相同的資料分組。
GROUP BY子句位于SELECT語句中的WHERE子句之後,位于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
如果你想知道每個客戶的工資總額,那麼可以使用以下的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