T-SQL – Cláusula GROUP BY

servidor SQL AGRUPAR POR La cláusula se utiliza en colaboración con la instrucción SELECT para organizar datos idénticos en grupos.

La cláusula GROUP BY sigue a la cláusula WHERE en la instrucción SELECT y precede a la cláusula ORDER BY.

Sintaxis

A continuación se muestra la sintaxis básica de la cláusula GROUP BY. La cláusula GROUP BY debe coincidir con las condiciones de la cláusula WHERE y debe preceder a la cláusula ORDER BY, si se utiliza.

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

Ejemplo

Tenga en cuenta que la tabla CLIENTES tiene las siguientes entradas:

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 

Si desea conocer el salario total de cada cliente, la consulta GRUPO POR estará debajo.

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

El comando anterior dará el siguiente resultado.

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

Consideremos ahora la siguiente tabla CLIENTES, que contiene los siguientes registros con nombre duplicados.

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 

Si queremos conocer el salario total de cada cliente, la siguiente consulta será GROUP BY.

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

El comando anterior dará el siguiente resultado.

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

🚫