T-SQL-GROUPBY句

SQLServer GROUP BY 句は、SELECTステートメントと連携して使用され、同一のデータをグループに配置します。

GROUP BY句は、SELECTステートメントのWHERE句の後に続き、ORDERBY句の前にあります。

構文

GROUPBY句の基本的な構文は次のとおりです。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

各顧客の給与の合計額を知りたい場合は、以下がGROUPBYクエリになります。

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

各顧客の給与の合計額を知りたい場合は、以下がGROUPBYクエリになります。

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