COUNT, SUM, AVG com GROUP BY e HAVING
Até agora, cada consulta devolvia linhas da tabela. Agora fazemos perguntas de resumo: quantas encomendas foram pagas? Quanto dinheiro trouxe cada cliente? Quem encomendou mais de uma vez? São as perguntas de entrevista mais comuns depois de JOIN, e a armadilha de sempre é a diferença entre WHERE e
Uma função de agregação transforma muitas linhas num único número. O GROUP BY faz isso para cada grupo em separado, e o HAVING filtra os grupos.
- Função de agregação
- Uma função que recebe muitas linhas e devolve um único valor, como COUNT, SUM ou AVG.
- GROUP BY
- Uma cláusula que divide as linhas em grupos por um valor comum e devolve uma linha por grupo.
- HAVING
- Uma cláusula que filtra os grupos depois da agregação, por exemplo apenas os grupos com mais de duas linhas.