Menu
Coddy logo textTech

Funciones de agregación

Parte de la sección Fundamentos del Journey de SQL de Coddy. Lección 68 de 72.

Las funciones de agregación se utilizan para calcular AVG() o MAX(), o cualquier otra función de agregación hasta la fila actual.
Por ejemplo, podríamos calcular los ingresos máximos que obtuvimos hasta cada período final:

mesingresosregión
440Este
520Este
660Oeste
755Oeste
861Este
SELECT month, revenue, MAX(revenue) OVER (ORDER BY month ASC) as max_revenue
from table1

Esto devolverá:

mesingresosmax_revenue
44040
52040
66060
75560
86161

Para los meses 4 y 5, el ingreso máximo es 40; para los meses 6 y 7, es 60; y para el mes 8, es 61. Esto se debe a que, cuando encuentra un ingreso nuevo y mayor, descarta el anterior y utiliza el más grande hasta ese momento.

Para la función AVG() se verá así:

SELECT month, revenue, AVG(revenue) OVER (ORDER BY month ASC) as avg_revenue
from table1
mesingresosavg_revenue
44040
52030
66040
75543.75
86147.2

También podemos agrupar nuestros cálculos por categorías específicas usando PARTITION BY. Por ejemplo:

SELECT month, revenue, region,
MAX(revenue) OVER (PARTITION BY region ORDER BY month ASC) as max_revenue
FROM table1

Nos daría:

mesingresosregiónmax_revenue
440East40
520East40
660West60
755West60
861East61

Ahora el máximo se calcula por separado para cada región. Las regiones East y West mantienen sus propios máximos acumulados de forma independiente.

challenge icon

Desafío

Fácil

Tablas y columnas disponibles:

  • books: book, page, words

Para cada libro, muestra el nombre del libro, su número total de páginas, el número de palabras de cada página y calcula:

  1. El número máximo de palabras encontrado en cualquier página de ese libro
  2. El número promedio de palabras por página de todo el libro
  3. La diferencia entre las palabras de la página actual y el promedio de palabras por página del libro

Muestra los resultados ordenados por libro y número de página.

Devuelve las siguientes columnas:

  • book
  • page
  • words
  • max_words_in_book
  • avg_words_per_page
  • diff_from_avg

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

Practica por tu cuenta: Playground de SQL