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.

Home » Tecnologia

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:

  • ASC: Ordem ascendente (default)
  • DESC: Ordem decrescente

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:

  • AVG - Retorna o valor médio
  • COUNT - Retorna a quantidade de linhas
  • MAX - Retorna o maior valor
  • MIN - Retorna o menor valor
  • SUM - Soma os valores das colunas

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:

  • Relatório de vendas: A função de grupo pode ser usada aqui para agrupar as vendas dos vendedores, dos produtos, das filiais, etc. É muito usado nesse caso pwra fazer a famosa curva abc que mostra os dos mais vendidos aos menos vendidos.
  • Relatório de compras: o mesmo exemplo pode ser aplicado a compras nesse caso direcionado para agrupar as compras feita pelos clientes, e assim determinar também uma curva abc de clientes.
  • Relatório de despesas: pode ser usado para agrupar as despesas feitas por uma pessoa, empresa, setor ou outro qualquer. Nesse caso pode se agrupar por dia, por semana, por mês, por ano ou por qualquer outro período que você desejar.
  • Resultado de uma eleição: Em uma eleição, seja ela municipal, estadual ou federal você tem os votos individuais, mas na apuração e para apresentar os resultados é necessário agrupar esses votos por candidato para estabelecer quem é o vencedor ou não. Esse agrupamento também pode ser feito por partido, coligação, estado, cidade, zona eleitoral ou até por seção eleitoral.
  • Dentre outros exemplos que podem ser citados onde o uso de funções de grupo em SQL podem ser usadas.


VEJA TAMBÉM:

CANAL NO YOUTUBE

INSCREVA-SE:



Sistemas Web

Playlist de SQL

Youtube Youtube Youtube
© 2021 - Utilidade Pública: Tecnologia, Educação e Cidadania.