Una GROUP BY
instrucción en SQL especifica que una SELECT
instrucción SQL divide las filas de resultados en grupos, según sus valores en una o varias columnas. Normalmente, la agrupación se utiliza para aplicar algún tipo de función agregada para cada grupo. [1] [2]
El resultado de una consulta que utiliza una GROUP BY
declaración contiene una fila para cada grupo. Esto implica restricciones en las columnas que pueden aparecer en la SELECT
cláusula asociada . Como regla general, la SELECT
cláusula solo puede contener columnas con un valor único por grupo. Esto incluye las columnas que aparecen en la GROUP BY
cláusula, así como los agregados que dan como resultado un valor por grupo. [3]
Ejemplos de
Devuelve una lista de ID de departamento junto con la suma de sus ventas para la fecha del 1 de enero de 2000.
SELECCIONE DeptID , SUM ( SaleAmount ) FROM Sales WHERE SaleDate = '01 -Jan-2000 ' GROUP BY DeptID
Devuelve los datos de la tabla dinámica de ejemplo que responde a la pregunta "¿Cuántas unidades vendimos en cada región para cada fecha de envío?":
SELECCIONE Región , Fecha_envío , SUM ( Unidades ) AS Suma_de_Unidades DE GRUPO DE FlatData POR Región , Fecha_envío
Las funciones comunes de agrupación ( agregación ) incluyen:
- Recuento ( expresión ): cantidad de registros coincidentes (por grupo)
- Suma ( expresión ): suma del valor dado (por grupo)
- Min ( expresión ): mínimo del valor dado (por grupo)
- Max ( expresión ): máximo del valor dado (por grupo)
- Avg ( expresión ): promedio del valor dado (por grupo)
Ver también
Referencias
- ^ "Instrucción SQL GROUP BY" . www.w3schools.com . Consultado el 18 de septiembre de 2020 .
- ^ shkale-msft. "GROUP BY (Transact-SQL) - SQL Server" . docs.microsoft.com . Consultado el 18 de septiembre de 2020 .
- ^ "Agrupación y agregación SQL" . databaselecture.com . Consultado el 9 de diciembre de 2020 .
enlaces externos
- Fragmentos de código SQL: Tutoriales de funciones SQL: agrupación de filas con GROUP BY
- Cláusula GROUP BY y HAVING de MySQL con ejemplos