T-SQL - Clausola GROUP BY
Il server SQL GROUP BY viene utilizzata in collaborazione con l'istruzione SELECT per organizzare dati identici in gruppi.
La clausola GROUP BY segue la clausola WHERE in un'istruzione SELECT e precede la clausola ORDER BY.
Sintassi
Di seguito è riportata la sintassi di base della clausola GROUP BY. La clausola GROUP BY deve seguire le condizioni nella clausola WHERE e deve precedere la clausola ORDER BY, se utilizzata.
SELECT column1, column2
FROM table_name
WHERE [ conditions ]
GROUP BY column1, column2
ORDER BY column1, column2
Esempio
Considera che la tabella CLIENTI contiene i seguenti record:
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
Se vuoi conoscere l'importo totale dello stipendio per ogni cliente, la seguente sarà la query GROUP BY.
SELECT NAME, SUM(SALARY) as [sum of salary] FROM CUSTOMERS
GROUP BY NAME;
Il comando precedente produrrà il seguente output.
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
Consideriamo ora la seguente tabella CLIENTI con i seguenti record con nomi duplicati.
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
Se vogliamo conoscere l'importo totale dello stipendio su ciascun cliente, la seguente sarà una query GROUP BY.
SELECT NAME, SUM(SALARY) as [sum of salary] FROM CUSTOMERS
GROUP BY NAME
Il comando precedente produrrà il seguente output.
NAME sum of salary
Hardik 8500.00
kaushik 8500.00
Komal 4500.00
Muffy 10000.00
Ramesh 3500.00