Olá pessoal!

Hoje veremos como classificar e agrupar dados utilizando a linguagem SQL.

Classificando dados

Use a cláusula ORDER BY para classificar registros no conjunto de resultados, em ordem crescente (ASC) ou decrescente (DESC).
Este exemplo recupera a identificação do produto, o nome do produto, a categoria e o preço unitário de cada produto da tabela products (produtos). Por padrão, o conjunto de resultados é classificado por categoria em ordem crescente, dentro de cada categoria, os registros são classificados por preço unitário em ordem decrescente.

USE northwind
SELECT productid, productname, categoryid, unitprice
FROM products
ORDER BY categoryid, unitprice DESC
GO

Este exemplo é semelhante ao exemplo acima. A única diferença é que os números a direita da cláusula ORDER BY indicam a posição das colunas na lista de seleção. O SQL Server resolve as duas consultas de modo idêntico, retornando o mesmo conjunto de resultados.

USE northwind
SELECT productid, productname, categoryid, unitprice
FROM products
ORDER BY 3, 4 DESC

Ocultando registros duplicados

Se precisar de uma lista de valores únicos, use a cláusula DISTINCT para ocultar registros duplicados no conjunto de resultados.
Este exemplo retorna todos os registros da tabela suppliers, mas exibe o nome de cada país somente uma vez.

USE northwind
SELECT DISTINCT country
FROM suppliers
ORDER BY country

Use a cláusula GROUP BY para organizar registros em grupos e para resumir esses grupos. Por exemplo, use a cláusula GROUP BY para determinar a quantidade de cada produto que foi pedida em relação a todos os pedidos.
Este exemplo retorna as informações sobre pedidos da tabela orderhist. A consulta agrupa e lista cada identificação de produto e calcula a quantidade total pedida. A quantidade total é calculada através da função agregada SUM e exibe um valor para cada produto no conjunto de resultados.

Leia Também:   Comandos básicos SQL

USE northwind
SELECT productid, SUM (quantity) AS total_quantity
FROM orderhist
GROUP BY productid

Até a próxima!