Built-In Aggregate Part 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. É aqui que as consultas aninhadas se tornam úteis.
Quando você deseja realizar cálculos que combinam linhas individuais com valores agregados, você precisa usar uma consulta aninhada. Aqui está o porquê:
Isso não fornecerá o resultado por linha que você deseja:
SELECT value + MIN(value)
FROM table1A razão é que as funções de agregação trabalham em toda a coluna, enquanto a referência 'value' está tentando trabalhar 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 a partir de valores máximos ou mínimos
Desafio
FácilTabelas e colunas disponíveis:
<strong>items</strong>:<strong>id</strong>,<strong>price</strong>
Calcule o 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
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columnsPratique por conta própria: Playground de SQL