T-SQL - GROUP BY-Klausel

Der SQL Server GROUP BY Die Klausel wird in Zusammenarbeit mit der SELECT-Anweisung verwendet, um identische Daten in Gruppen anzuordnen.

Die GROUP BY-Klausel folgt der WHERE-Klausel in einer SELECT-Anweisung und steht vor der ORDER BY-Klausel.

Syntax

Es folgt die grundlegende Syntax der GROUP BY-Klausel. Die GROUP BY-Klausel muss den Bedingungen in der WHERE-Klausel entsprechen und der ORDER BY-Klausel vorangehen, falls eine verwendet wird.

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

Beispiel

Angenommen, die Tabelle CUSTOMERS enthält die folgenden Datensätze:

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

Wenn Sie den Gesamtlohn für jeden Kunden wissen möchten, folgt die Abfrage GROUP BY.

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

Der obige Befehl erzeugt die folgende Ausgabe.

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

Betrachten wir nun die folgende CUSTOMERS-Tabelle mit den folgenden Datensätzen mit doppelten Namen.

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

Wenn wir den Gesamtlohn für jeden Kunden wissen möchten, folgt die folgende GROUP BY-Abfrage.

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

Der obige Befehl erzeugt die folgende Ausgabe.

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