41. HAVING

Escrito por Uianes Luiz Rockenbach Biondo.
Última atualização em 04 out. 2023

A cláusula HAVING pois adicionada ao MySQL para condições que envolvam funções numéricas, como COUNT(), MAX(), MIN(), SUM() e AVG(). A cláusula WHERE não pode ser usada em conjunto com essas funções. Sintaxe:

SELECT coluna1, coluna2, ...
FROM nomeTabela
WHERE condição
GROUP BY nomeColuna
HAVING condição
ORDER BY nomeColuna;

Exemplo

Para mostrar somente as cidades com mais do que dois alunos cadastrados:

Tabela Alunos

id_aluno nome_aluno cidade_aluno
1 Uianes Santo Augusto
2 Maria Três Passos
3 José Santo Augusto
4 Antônio Santo Augusto
5 João Tenente Portela
SELECT cidade_aluno, COUNT(cidade_aluno) AS "Quantidade de alunos por cidade"
FROM Alunos
GROUP BY cidade_aluno
HAVING COUNT(cidade_aluno) > 2;

Resultado:

cidade_aluno Quantidade de alunos por cidade
Santo Augusto 3