Menu
CoddyTech

Agregação integrada – Parte 2

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

Às vezes, precisamos usar funções de agregação de maneiras mais complexas, como comparar cada linha com um valor agregado. É aí que consultas aninhadas são úteis.

Quando você quiser realizar cálculos que combinam linhas individuais com valores agregados, precisará usar uma consulta aninhada. Veja por quê:
Isso não dará o resultado por linha que você quer:

SELECT value + MIN(value)
FROM table1

O motivo é que as funções de agregação operam na coluna inteira, enquanto a referência a 'value' tenta operar linha por linha. Para resolver isso, usamos uma consulta aninhada:

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

Isso funciona porque a consulta aninhada (SELECT MIN(value) FROM table1) é executada primeiro e retorna um único valor, que pode então ser usado na consulta principal para cada linha.

Casos de uso comuns para agregações aninhadas:
1. Comparar cada valor com a média

2. Calculando a porcentagem do total

3. Encontrando diferenças em relação aos valores máximos ou mínimos

challenge icon

Desafio

Fácil

Tabelas e colunas disponíveis:

  • items: id, price

Calcule quanto o preço de cada item excede o preço médio de todos os itens. Exiba o ID do item, seu preço e a diferença em relação à média. Nomeie a coluna da diferença como diff_from_avg.

Ordene os resultados pela diferença em ordem decrescente.

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