Articulo de referencia

Agrupar por (SQL)

Una GROUP BY cláusula 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 agru...

Una GROUP BYcláusula en SQL especifica que una SELECTinstrucció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 de agregación a cada grupo. [ 1 ] [ 2 ]

El resultado de una consulta que utiliza una GROUP BYcláusula contiene una fila por cada grupo. Esto implica restricciones en las columnas que pueden aparecer en la SELECTcláusula asociada. Como regla general, la SELECTcláusula solo puede contener columnas con un valor único por grupo. Esto incluye las columnas que aparecen en la GROUP BYcláusula, así como las agregaciones que dan como resultado un valor por grupo. [ 3 ]

Ejemplos

Devuelve una lista de identificadores de departamento junto con la suma de sus ventas al 1 de enero de 2000.

SELECCIONAR IDDepartamento , SUMA ( ImporteVenta ) DE Ventas DONDE FechaVenta = '01-ene-2000' AGRUPAR POR IDDepartamento

En el siguiente ejemplo se puede preguntar "¿Cuántas unidades se vendieron en cada región para cada fecha de envío? ":

El siguiente código devuelve los datos de la tabla dinámica anterior , que responde a la pregunta "¿Cuántas unidades se vendieron en cada región para cada fecha de envío?":

SELECCIONAR Región , Fecha_envío , SUMA ( Unidades ) COMO Suma_de_Unidades DE DatosPlanos AGRUPAR POR Región , Fecha_envío

CON ENROLLABLE

Desde SQL:1999 , GROUP BYse puede extender WITH ROLLUPpara agregar una línea de resultados con un resultado de superagregador. En el ejemplo anterior, corresponde a la línea del total general .

Agrupaciones comunes

Las funciones de agrupación ( agregación ) comunes incluyen:

  • Recuento ( expresión ) - Cantidad de registros coincidentes (por grupo)
  • Suma ( expresión ) - Suma del valor dado (por grupo)
  • Mín ( expresión ) - Mínimo del valor dado (por grupo)
  • Máx ( expresión ) - Valor máximo del valor dado (por grupo)
  • Promedio ( expresión ) - Promedio del valor dado (por grupo)

Véase también

Referencias

  1. "Sentencia SQL GROUP BY" . www.w3schools.com . Consultado el 18 de septiembre de 2020 .
  2. shkale-msft. "GROUP BY (Transact-SQL) - SQL Server" . docs.microsoft.com . Consultado el 18 de septiembre de 2020 .
  3. "Agrupación y agregación SQL" . databaselecture.com . Consultado el 09/12/2020 .
  • Fragmentos de SQL: Tutoriales sobre funciones de SQL - Agrupación de filas con GROUP BY