Menu
Coddy logo textTech

Built-In Aggregate Part 2

Parte de la sección Fundamentos del Journey de SQL de Coddy — lección 35 de 72.

A veces necesitamos usar funciones de agregación de maneras más complejas, como comparar cada fila con un valor agregado. Aquí es donde las consultas anidadas resultan útiles.

Cuando quieras realizar cálculos que combinen filas individuales con valores agregados, necesitas usar una consulta anidada. Aquí está por qué:
Esto no funcionará:

SELECT value + MIN(value)
FROM table1

La razón es que las funciones de agregación trabajan en toda la columna, mientras que la referencia 'value' está intentando trabajar fila por fila. Para resolver esto, usamos una consulta anidada:

SELECT value + (SELECT MIN(value) FROM table1)
FROM table1

Esto funciona porque la consulta anidada (SELECT MIN(value) FROM table1) se ejecuta primero y devuelve un solo valor, que luego se puede usar en la consulta principal para cada fila.

Casos de uso comunes para agregados anidados:
1. Comparar cada valor con el promedio

2. Calcular porcentaje del total

3. Encontrar diferencias con respecto a valores máximos o mínimos

challenge icon

Desafío

Fácil

Tablas y columnas disponibles:

  • <strong>items</strong>: <strong>id</strong>, <strong>price</strong>

Calcula cuánto excede el precio de cada ítem el precio promedio de todos los ítems. Muestra el ID del ítem, su precio y la diferencia del promedio. Nombra la columna de diferencia como diff_from_avg.

Ordena los resultados por la diferencia en orden descendente.

Hoja de referencia

Al combinar filas individuales con valores agregados, utiliza consultas anidadas porque las funciones de agregación operan sobre columnas enteras, mientras que las columnas regulares operan fila por fila.

Esto no funcionará:

SELECT value + MIN(value)
FROM table1

Utiliza una consulta anidada en su lugar:

SELECT value + (SELECT MIN(value) FROM table1)
FROM table1

La consulta anidada se ejecuta primero y devuelve un valor único que se puede usar en la consulta principal para cada fila.

Casos de uso comunes:

  • Comparar cada valor con el promedio
  • Calcular el porcentaje del total
  • Encontrar diferencias de valores máximos o mínimos

Pruébalo tú mismo

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos