Uma cláusula “group by”, parte do comando SELECT, permite criar agrupamentos, isto é, vários registros com os mesmos valores são combinados em uma linha e os valores dos outros campos podem ser resumidos através de funções de agregação, gerando cálculo de totais, contagens, médias e outros.
Em um sistema de livraria, existe uma tabela LIVRO que contém os seguintes campos:
LIVRO (COD_LIVRO, TITULO, AUTOR, VALOR)
Para recuperar a lista dos autores com o total de títulos de sua autoria presentes na livraria e o valor médio dos valores de seus títulos, a consulta deve ser:
SELECT TITULO, SUM(*), AVG(VALOR) FROM LIVRO GROUP BY TITULO
SELECT TITULO, COUNT(*), AVG(VALOR) FROM LIVRO GROUP BY TITULO
SELECT AUTOR, SUM(*), MEDIA(VALOR) FROM LIVRO GROUP BY AUTOR
SELECT AUTOR, COUNT(*), AVG(VALOR) FROM LIVRO GROUP BY AUTOR
SELECT AUTOR, COUNT(*), MEDIA(VALOR) FROM LIVRO GROUP BY AUTOR