Menu
Coddy logo textTech

Funções de agregação

Parte da seção Fundamentos do Journey de SQL da Coddy. Lição 68 de 72.

As funções de agregação são usadas para calcular AVG(), MAX() ou qualquer outra função de agregação até a linha atual.
Por exemplo, poderíamos calcular a receita máxima que obtivemos até cada período final:

mêsreceitaregião
440Leste
520Leste
660Oeste
755Oeste
861Leste
SELECT month, revenue, MAX(revenue) OVER (ORDER BY month ASC) as max_revenue
from table1

Isso retornará:

mêsreceitamax_revenue
44040
52040
66060
75560
86161

Para os meses 4 e 5, a receita máxima é 40; para os meses 6 e 7, é 60; e para o mês 8, é 61. Isso acontece porque, quando encontra uma nova receita maior, ele descarta a antiga e usa a maior até o momento.

Para a função AVG(), ficará assim:

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

Também podemos agrupar nossos cálculos por categorias específicas usando PARTITION BY. Por exemplo:

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

Isso nos daria:

mêsreceitaregiãomax_revenue
440East40
520East40
660West60
755West60
861East61

Agora o máximo é calculado separadamente para cada região. As regiões East e West mantêm seus próprios máximos acumulados de forma independente.

challenge icon

Desafio

Fácil

Tabelas e colunas disponíveis:

  • books: book, page, words

Para cada livro, exiba o nome do livro, o total de páginas, o número de palavras em cada página e calcule:

  1. O número máximo de palavras encontrado em qualquer página desse livro
  2. O número médio de palavras por página para o livro inteiro
  3. A diferença entre o número de palavras da página atual e a média de palavras por página do livro

Exiba os resultados ordenados por livro e número da página.

Retorne as seguintes colunas:

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

Experimente você mesmo

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Playground de SQL