Minicursos - MySQL

Having


O parâmetro HAVING permite selecionar resultados, assim como o parâmetro WHERE, mas ele atua sobre os dados agrupados com o GROUP BY. É um comando mais fácil de demonstrar do que de explicar. Sua sintaxe é muito simples. Vamos repetir a mesma consulta do último tópico, onde utilizamos o GROUP BY, vejam:

SELECT count(cpf) AS 'Qtde de Filmes Alugados', cpf AS CPF FROM aluga GROUP BY (cpf);

Executando, teremos:

Having MySQL

Agora vamos imaginar que nos interessasse somente os clientes que alugaram mais de 2 filmes. Não poderíamos usar o WHERE, já que a contagem é feita com o GROUP BY e isso geraria um erro de sintaxe, mas podemos usar o HAVING, da seguinte forma:

SELECT count(cpf) AS 'Qtde de Filmes Alugados', cpf AS CPF FROM aluga GROUP BY (cpf) HAVING (count(cpf)) > 2;

O resultado dessa consulta seria:

Having MySQL

Vejam que agora só foram exibidos os resultados maiores que 2, ou seja, clientes que alugaram mais de 2 filmes.

Resumindo, o HAVING tem o mesmo papel do WHERE, que é permitir uma triagem nos dados retornados, mas ele atua em conjunto com o GROUP BY.



Ajude o Contém Bits com um cafezinho!

Se você gostou do artigo, se ele lhe foi útil de alguma maneira e você quiser ajudar o Contém Bits, saiba que é simples, fácil e rápido. Basta clicar na imagem do PayPal (ou no cafezinho) e seguir as instruções, em ambiente seguro e com o respaldo do Paypal. Eu agradeço muito! :)


Você gostará destes vídeos!