Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como usar a classificação (Ordenar por) na instrução Select no SQL Server - Tutorial SQL Server / TSQL Parte 109

Cenário:

Você está trabalhando como desenvolvedor do SQL Server, precisa gerar dados classificados. Quais palavras-chave você gostaria de usar no T-SQL para gerar dados classificados?

Solução:

A Ordem por palavra-chave pode ser usado para classificar o conjunto de resultados. Podemos classificar os resultados por uma ou várias colunas.

Vamos criar a tabela dbo.Customer com alguns registros de teste e, em seguida, usar Order by keyword para classificá-los.

  Create table dbo.Customer(
  id int, FName VARCHAR(100))
  insert into dbo.Customer values(
  1,'Aamir'),(2,'Raza')
 
 
 1) Quando usamos apenas Order by ColumnName 
Digamos que se você gostaria de classificar os dados usando a coluna Id e em ordem crescente, você pode usar a consulta abaixo.

  Select * From dbo.Customer
  order by Id


  Select * From dbo.Customer
  order by Id ASC
 Observe que na primeira consulta, não escrevi ASC para ordenar os dados em ordem crescente. Na segunda consulta, usei a palavra-chave ASC. Se você não usar nenhuma palavra-chave após os nomes das colunas, o SQL Server ordenará os dados em ordem crescente.


Como usar Ordenar por para classificar o conjunto de resultados no SQL Server


2) Como classificar os dados em ordem decrescente
Para ordenar os resultados em ordem decrescente, você deve adicionar a palavra-chave DESC após os nomes das colunas. Digamos que se quisermos ordenar os dados usando FName em ordem decrescente, usaremos a consulta abaixo.

  Select * From dbo.Customer
  order by FName DESC 
Como classificar a saída retornada pela consulta de seleção usando Ordenar por palavra-chave
 
3) Usando números de coluna em vez de nomes de coluna em ordem por
Você sempre pode usar os números das colunas em vez dos nomes das colunas em Ordenar por. Digamos que, se quisermos pedir por FName,ID, podemos escrever nossa consulta usando nomes ou números de coluna, conforme mostrado abaixo.

   Select * From dbo.Customer
  order by FName DESC,id DESC
  
  Select * from dbo.Customer
  Order by 2 DESC,1 DESC
 
Como usar números de coluna em vez de usar nomes de coluna em ordem por para classificar resultados no SQL Server