T-SQL - GROUP BY 子句



SQL Server GROUP BY 子句與 SELECT 語句一起使用,將相同資料歸組。

GROUP BY 子句緊接 SELECT 語句的 WHERE 子句,之前是 ORDER BY 子句。

語法

以下為 GROUP BY 子句的基本語法。GROUP BY 子句必須緊接 WHERE 子句中的條件,並在使用 ONE 時必須位於 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 
廣告