|
A cláusula GROUP BY da instrução SELECT indica que os registros correlatos, através de colunas com valores comuns, serão agrupados.
É imprescindível que a coluna definida na cláusula SELECT seja definida também na cláusula GROUP BY.
Sintaxe:
SELECT <coluna>, <coluna>, ...
FROM tabela
GROUP BY <coluna>, <coluna>, ...
HAVING <expressão-lógica>
Onde:
<coluna> indica qual coluna deve ser usada para agrupar os registros.
<expressão-lógica> é a condição aplicada aos grupos e não aos registros (WHERE).
Exemplo:
Considere a tabela FUNCIONARIO, abaixo:
FUN_CODIGO
integer
| FUN_NOME
varchar(20)
| FUN_UF
varchar(2)
| FUN_SALARIO
numeric(15,2)
|
1
| BRUNO
| SP
| 1300
|
2
| MAURO
| CE
| 100
|
3
| MARIA
| RJ
| 2200
|
4
| DIONE
| CE
| 700
|
5
| ROBSON
| DF
| 100
|
6
| ZENAIDE
| BA
| 1900
|
7
| ZULEIKA
| RJ
| 3000
|
8
| MARIA
| SP
| 900
|
9
| ZENAIDE
| CE
| 500
|
10
| BRUNO
| PR
| 2400
|
A instrução abaixo:
SELECT FUN_UF
FROM FUNCIONARIO
GROUP BY FUN_UF
Irá resultar em:
|