Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Agrupación y Agregación en SQL | Trabajando con Datos
Fundamentos de Databricks: Guía Para Principiantes

Agrupación y Agregación en SQL

Desliza para mostrar el menú

Note
Definición

La agregación en SQL utiliza la cláusula GROUP BY para organizar los datos sin procesar en filas de resumen. Al emplear funciones como SUM(), AVG() y COUNT(), es posible transformar millones de filas en métricas empresariales útiles directamente dentro de una celda SQL.

Para muchos, SQL es el lenguaje más natural para resumir datos. La sintaxis es muy legible y sigue un flujo lógico: seleccionar las categorías, elegir los cálculos y definir los grupos. En este capítulo, se utilizará la vista temporal creada anteriormente para realizar las mismas agregaciones que en Python, pero con la simplicidad de SQL.

La cláusula GROUP BY

En SQL, cualquier columna que no esté siendo "resumida matemáticamente" debe incluirse en la instrucción GROUP BY al final de la consulta. Esto indica al motor de SQL exactamente cómo segmentar los datos.

SELECT cut, COUNT(*) 
FROM diamond_view
GROUP BY cut

Uso de funciones agregadas integradas

SQL proporciona varias funciones estándar para realizar cálculos en columnas numéricas:

  • SUM(): suma todos los valores de la columna;
  • AVG(): calcula la media/promedio;
  • MIN() / MAX(): encuentra el valor más bajo o más alto;
  • COUNT(): devuelve el número de filas.
%sql
SELECT 
  cut, 
  SUM(x), 
  AVG(y)
FROM diamond_view
GROUP BY cut

Alias para informes profesionales

De forma predeterminada, SQL puede etiquetar tus columnas de resultados como sum(Total_Profit). Para que tu salida sea adecuada para un panel empresarial, utiliza la palabra clave AS para renombrar estas columnas con descripciones más claras.

%sql
SELECT 
  cut, 
  SUM(x) AS Total_Length,
  MAX(y) AS Highest_Diamond_Value
FROM diamond_view
GROUP BY cut

Filtrado de datos agregados: la cláusula HAVING

Un error común es intentar filtrar un resultado agregado usando WHERE. En SQL, WHERE filtra filas individuales antes de que se agrupen. Si deseas filtrar los resultados después de haber realizado la suma (por ejemplo, para mostrar solo las regiones con más de $1,000,000 en ganancias), debes utilizar la cláusula HAVING.

%sql
SELECT cut, SUM(x) AS Total_Length
FROM diamond_view
GROUP BY cut
HAVING Total_Length > 4000

Ordenar el Resumen

Para destacar los análisis, siempre utilizar ORDER BY. Esto permite clasificar los resultados, como mostrar las regiones más rentables en la parte superior de la tabla.

%sql
SELECT cut, SUM(x) AS Total_Length
FROM diamond_view
GROUP BY cut
ORDER BY Total_Length DESC
question mark

¿Qué cláusula de SQL es necesaria para crear filas de resumen al usar funciones de agregación como SUM() o AVG()?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 7

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 4. Capítulo 7
some-alt