Postagens

Mostrando postagens de fevereiro, 2012

MySQL - Usando HAVING para limitar queries com agrupamentos GROUP

Agrupamentos são incrivelmente uteis quando precisamos fazer somas ou contar itens de várias linhas de um DB. Apesar de muitas pessoas utilizarem a linguagem em que estão desenvolvendo sua aplicação para fazer este tipo de operação as queries dos bancos de dados são a forma mais eficiente de se fazer isto. Vamos supor que você tenha uma tabela como a que segue abaixo: Nome CPF Veiculo Antonio 240.400.462-00 Corsa Antonio 240.400.462-00 Vectra Pedro 798.455.105-74 Gol E necessitamos do total de veículos de cada CPF. Então teríamos um SELECT deste tipo: SELECT Nome,CPF,COUNT(CPF) AS Quantidade FROM veiculos GROUP BY CPF. E nosso resultado seria algo como Nome CPF Quantidade Antonio 240.400.462-00 2 Pedro 798.455.105-74 1 Mas e se nos interessasse  resultados que trouxessem apenas cpf's com mais de dois carros? É para isto que usamos HAVING. HAVIING é como um WHERE porém utilizado para limitar buscas em agrupamentos. No exemplo acima faria