T-SQL GROUP BY子句 分組查詢

2018-12-14 11:32 更新

SQL Server GROUP BY子句與SELECT語(yǔ)句協(xié)作使用,以將相同的數(shù)據(jù)分組。

GROUP BY子句位于SELECT語(yǔ)句中的WHERE子句之后,位于ORDER BY子句之前。

語(yǔ)法

以下是GROUP BY子句的基本語(yǔ)法,GROUP BY子句必須遵循WHERE子句中的條件,并且必須在使用ORDER BY子句之前。

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

請(qǐng)參考具有以下記錄的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 

如果你想知道每個(gè)客戶的工資總額,那么可以使用以下的GROUP BY查詢方式:

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

上述命令將產(chǎn)生以下結(jié)果集:

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

現(xiàn)在讓我們考慮存在重復(fù)名稱的情況,請(qǐng)參考具有以下記錄的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 

如果我們想知道每個(gè)客戶的工資總額,那么可以使用以下的GROUP BY查詢方式:

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

上述命令將產(chǎn)生以下結(jié)果集:

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

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)