Educação e Utilidade Pública Educação e Utilidade Pública

Ordenar dados e criar funções de grupo com order by, group by e having

Veja o tutorial de linguagem SQL mostrando o uso do comando select para ordenar os dados, criar resultados agrupados e limitar registros em uma consulta de grupo.

O comando SELECT é extremamente importante na linguagem SQL. Com ele podemos criar consultas ao banco de várias formas, seja filtrando os dados, classificando, agrupando, entre outras possibilidades.

As funções de ordenar os dados e criar consultas agrupadas serão vistas neste tutorial. Para o primeiro usando a cláusula ORDER BY que permite que uma consulta seja classificada por qualquer um dos campos da consulta e em ordem normal ou inversa. Já a função de grupo é possível com a cláusula GROUP BY que permite que campos possam ser agrupados.

Veja abaixo diversos exemplos do uso do comando SELECT para ordenar dados e criar funções de grupo.

Classificando com a cláusula Order By

A classificação de registros usando a cláusula order by pode ser feita de duas formas, isto, podemos definir a ordem assim:

Veja um exemplo com a classificação default, ou seja, ascendente:

SELECT codigo_empregado, nome, data_nascimento, cidade

FROM empregados

ORDER BY nome;

Para classificar em ordem decrescente, basta adicionar DESC.

SELECT codigo_empregado, nome, salario, cidade

FROM empregados

ORDER BY salario desc;

É possível classificar os resultados por mais de um campo, neste caso, use a vírgula para separá-los. Veja um exemplo:

SELECT codigo_empregado, nome, salario, cidade

FROM empregados

ORDER BY salario desc, cidade;

Funções de grupo e a cláusula Group by

As funções de grupo operam em conjunto de linhas para fornecer um resultado por grupo.

A tabela abaixo mostra as funções de grupo e sua aplicação:

Uma função de grupo geralmente é usada coma a cláusula group by, já que esta cláusula tem a finalidade de criar grupos de dados.

Veja os exemplos abaixo usando as funções SUM, AVG,MAX, MIM E COUNT:

SELECT cidade, sum(salario) As totalSalario

FROM empregados

GROUP BY cidade;

SELECT cidade, avg(salario) As salarioMedio

FROM empregados

GROUP BY cidade;

SELECT cidade, max(salario) As maiorSalario

FROM empregados

GROUP BY cidade;

SELECT cidade, min(salario) As menorSalario

FROM empregados

GROUP BY cidade;

SELECT estado, count(*) As totalEmpregados

FROM empregados

GROUP BY estado;

Os exemplos acima podem ser adaptados para outras realidades, porém o princípio é este.

Cláusula Having

Use a cláusula having para especificar quais grupos serão exibidos e, desta forma, restringir ainda mais os grupos com base nas informações agregadas.

SELECT cidade, Count(cidade) As Total_cidade

FROM empregados

GROUP BY cidade

HAVING Count(cidade) > 2

Exemplos de aplicação

As funções de grupos são muito utilizadas em linguagem SQL para promover a possibilidade de criação de diversos tipos de relatórios com dados agrupados.

São importantes recursos que programadores usam para implementar relatórios em sistemas de informação, web sites e aplicativos para celulares.

Alguns exemplos onde essas funções podem aparecer e promover:

Veja também