Cursos / Informática para Internet / Banco de Dados / Aula
Existem situações em que precisamos fazer consultas considerando algum tipo de agrupamento das linhas de uma tabela. Por exemplo: quantos clientes do sexo feminino têm na locadora? Quantos exemplares de um mesmo filme estão cadastrados na locadora? Essas perguntas envolvem algum tipo de categorização dos dados. Na primeira, é necessário separar os clientes do sexo masculino dos clientes do sexo feminino e na segunda os registros de um mesmo título. Ou seja, seria muito útil que tivéssemos algum mecanismo de criar categorias internas com os dados disponíveis sem a necessidade de modificar a estrutura da tabela.
Para resolver isso, o comando SELECT tem a cláusula GROUP BY, que agrupa as linhas com valores iguais de uma determinada coluna. Meio confuso? Um exemplo nos ajudará a entender. Imagine que precisamos saber os diferentes preços de uma locação na locadora, nessa situação utilizamos o comando SELECT, conforme apresentado no quadro a seguir.
Observe que o resultado da consulta nos informa que temos filmes sem preço cadastrado (NULL) e filmes que custam R$\$$2,50 ou R$\$$5, conforme ilustrado na Figura 5. Como foi gerado esse resultado? O GROUP BY agrupou todos os filmes que tinham mesmo valor cadastrado na coluna fil_preco como se fosse um registro único e mostrou na tela os diferentes valores presentes na coluna fil_preco segundo esse agrupamento.
O principal uso da cláusula GROUP BY ocorre em conjunto com funções de agregação. As funções de agregação retornam um único valor como resultado de um conjunto de valores de entrada. As principais funções de agregação usadas no MySQL são:
Versão 5.3 - Todos os Direitos reservados