Saltar al contenido

GROUP BY de SQL Ejemplos

marzo 19, 2021
group by

GROUP BY de SQL agrupa filas en un conjunto de registros resumidos. Todos estos ejemplos aplican para el SGBD de su preferencia( oracle, mysql ,Sql server, mariadb entre otros).

Como usar Group by de SQL?

Se utiliza para agrupar los resultados de una consulta SELECT aplicando una función agregada como SUM, AVG, MIN, MAX o COUNT a cada grupo para generar la consulta de forma resumida.

La cláusula GROUP BY es muy útil, menudo se aplica la cláusula GROUP BY en lo SGBD y de inteligencia empresarial (BI) para producir los informes analíticos.

Para desarrollar estos ejemplos descargar la base de datos de ejemplos para todas la versiones de sql Server.

Ejemplo de la sintaxis del group by

  • SELECT     columna1, columna2, function(columna3)
  • FROM    Tablaejemplo
  • GROUP BY columna1, columna2;

La siguiente estructura de una tabla de detalles de facturas, sera utilizada en todos los ejemplos ejemplos

El motor de la base de datos realiza los siguientes pasos:

  • Primero, examina divide los registros por grupos según la cantidad de columnas especificadas
  • En segundo lugar, calcula los valores indicados en función con la clausula de SQL(Sum, Count, Max, Min etc) utilizada
015 Importar Datos desde un archivo...
015 Importar Datos desde un archivo SQL

Ejemplo con la función SUM

Buscaremos cual seria el total de artículos vendidos por código de producto

SELECT [ProductID],SUM([OrderQty])
FROM [AventureWorks].[SalesLT].[SalesOrderDetail]
Group by [ProductID]

Se puede apreciar que los códigos no se repiten ademas la siguiente columna muestra el total de las cantidades vendidas. Esta función a diferencia del DISTINCT que solo se utiliza para remover registros duplicados.

Usando funciones MIN y MAX

En este ejemplo buscaremos la cantidad máxima de artículos vendidos por un código en una factura y la cantidad mínima vendida por el mismo código en una factura.

  1. SELECT [ProductID],MIN([OrderQty]), MAX([OrderQty])
  2. FROM [AventureWorks].[SalesLT].[SalesOrderDetail]
  3. Group by [ProductID]

SQL GROUP BY con ORDER BY

En este ejemplo contaremos la cantidad de veces que aparece el un código de producto dentro de los registros de tu tabla y ordenaremos de mayor a menor, es importante recordar que la función COUNT es para contar registros que no es lo mismo que la función SUM la cual utilizamos para sumar valores de una columna

  • SELECT [ProductID],COUNT([ProductID])
  • FROM [AventureWorks].[SalesLT].[SalesOrderDetail]
  • Group by [ProductID]
  • ORDER BY COUNT([ProductID]) DESC

La Consulta muestra que el código 715 aprecio 10 veces pero ademas muestra los registros ordenados de forma descendente gracias al uso de la clausula ORDER BY .

SQL group by con WHERE

Este ejemplo muestra como podemos aplicar la clausula WHERE para los fines de segmentar nuestros análisis en un grupo especifico de filas. las consulta en SQL Server o en Mysql usando where y group by son mas comunes de lo que aparentan por lo cual es importante conocer esta combinación.

  1. SELECT [ProductID],COUNT([ProductID])
  2. FROM [AventureWorks].[SalesLT].[SalesOrderDetail]
  3. WHERE ProductID > 700
  4. Group by [ProductID]
  5. ORDER BY COUNT([ProductID]) DESC

Podriamos desglosar mas operadores logicos pero te recomiendo que veas el enlace de como utilizar el like en sql esta este operador seria de gran utilidad.

SQL group by con Having

Este ejemplo lo podemos apreciar en mas detalle en los siguientes artículos

SQL HAVING y WHERE: Las diferencias que necesita saber

Having count sql con ejemplos

Having en SQL con ejemplos

Conclusion

En estos ejemplos, ha aprendido a usar la cláusula GROUP BY de SQL y aplicar la función agregada a cada grupo para producir un resultado.

Prueba tu conocimiento de la cláusula GROUP BY

Results

-
close

¡No te pierdas MEGA Curso mysql gratis por tiempo limitado!

¡No hacemos spam! Lee nuestra [link]política de privacidad[/link] para obtener más información.


close





¡No te pierdas MEGA Curso mysql gratis por tiempo limitado!

¡No hacemos spam! Lee nuestra [link]política de privacidad[/link] para obtener más información.

#1. Cuales funciónes agregadas puedo usar

Next

#2. Cual sintaxis es la correcta

#3. Cual de los siguientes pasos se ejecuta en el motor de la base ?

Finish

close

¡No te pierdas MEGA Curso mysql gratis por tiempo limitado!

¡No hacemos spam! Lee nuestra [link]política de privacidad[/link] para obtener más información.