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:
- 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 príncipio é 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
Fonte: http://www.luis.blog.br/ordenar-dados-e-criar-funcoes-de-grupo.aspx
No responses yet