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