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 table1O 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 table1Isso 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
Desafio
FácilTabelas 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
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
4Mais palavras-chave
A palavra-chave INA palavra-chave BETWEENA palavra-chave LIKEA palavra-chave ASRecapitulação - Modelos de celulares2Condições
Noções básicas de condiçõesA palavra-chave ANDA palavra-chave ORA palavra-chave NOTCombinação de várias condiçõesParêntesesBooleanos3Formato de retorno específico
Valores nulosOrdenar resultados - Parte 1Ordenar resultados - Parte 2Recapitulação - Empresa de segurança cibernéticaLimitar o número de registrosRecapitulação - Fábrica de veículos6Desafios introdutórios
Revisão - Eleição parlamentarRevisão - Prisão criminal pela políciaRevisão - Recipiente de bebidas de barRevisão - Projetar novas colunasPratique por conta própria: Playground de SQL