Imagina que tienes una gran canasta llena de diferentes frutas. Quieres organizarlas, así que decides agrupar todas las frutas del mismo tipo juntas. Eso es lo que hace la cláusula GROUP BY
en SQL.
GROUP BY
toma las filas de una tabla y crea grupos separados donde los valores en ciertas columnas son iguales. Esto es realmente útil cuando deseas hacer cálculos o utilizar funciones como SUM
, AVG
, MAX
, MIN
o COUNT
en grupos de filas en lugar de solo una fila a la vez.
Entonces, si tienes una tabla llena de datos y deseas organizarlos en grupos basados en los valores de ciertas columnas, GROUP BY
es la herramienta que necesitas.
Sintaxis:
SELECT column1, column2, aggregate_function(column3)
FROM table_name
GROUP BY column1, column2;
Imagina que tienes una lista con todos los artículos vendidos en una tienda. Esta lista incluye información como el ID del pedido, el tipo de producto, su categoría y cuántos se vendieron.
Si deseas saber la cantidad total vendida para cada categoría de producto, puedes utilizar la cláusula GROUP BY
en SQL, junto con la función SUM
, de la siguiente manera:
SELECT
categoria,
SUM(cantidad_vendida) AS cantidad_total_vendida
FROM datos_ventas
GROUP BY
categoria;
En este ejemplo, nuestra consulta de SQL primero agrupa todos los artículos de la lista por su categoria
(como agrupar todas las frutas, todas las verduras, todas las carnes, etc.). Luego, para cada categoría, suma la cantidad_vendida
para obtener el total vendido. El resultado será una nueva lista que muestra cada categoría y la cantidad total vendida para esa categoría. ¡Es como crear un resumen de las ventas para cada tipo de producto!
Digamos que tienes una tienda y quieres ver cuántos artículos de cada categoría has vendido desde principios de 2020. Con SQL, puedes hacer esto utilizando una combinación de las cláusulas WHERE
y GROUP BY
.
La cláusula WHERE
nos permite filtrar los datos de ventas para ver solo las ventas realizadas a partir del 1 de enero de 2020. Después de filtrar los datos, los agrupamos por categoría de producto y sumamos la cantidad vendida en cada grupo. Aquí tienes cómo se vería el código SQL:
Ejemplo:
SELECT
categoria,
SUM(cantidad_vendida) AS cantidad_total_vendida
FROM datos_ventas
WHERE
fecha_pedido >= '2020-01-01'
GROUP BY
categoria;
En este código, datos_ventas
es el nombre de nuestra lista de ventas, categoria
es el tipo de producto, cantidad_vendida
es cuántos se vendieron y fecha_pedido
es la fecha en que se vendió el artículo. El resultado será una lista que muestra cada categoría y la cantidad total vendida en esa categoría desde principios de 2020.