Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come utilizzare l'ordinamento (Ordina per) nell'istruzione Select in SQL Server - Esercitazione su SQL Server / TSQL Parte 109

Scenario:

Stai lavorando come sviluppatore di SQL Server, devi produrre dati ordinati. Quali parole chiave vorresti usare in T-SQL per generare dati ordinati?

Soluzione:

L'Ordine per parola chiave può essere utilizzato per ordinare il set di risultati. Possiamo ordinare i risultati in base a colonne singole o multiple.

Creiamo la tabella dbo.Customer con un paio di record di test e quindi utilizziamo Ordina per parola chiave per ordinarli.

  Create table dbo.Customer(
  id int, FName VARCHAR(100))
  insert into dbo.Customer values(
  1,'Aamir'),(2,'Raza')
 
 
 1) Quando utilizziamo solo Order by ColumnName 
Diciamo che se desideri ordinare i dati utilizzando la colonna Id e in ordine crescente, puoi utilizzare la query sottostante.

  Select * From dbo.Customer
  order by Id


  Select * From dbo.Customer
  order by Id ASC
 Si noti che nella prima query non ho scritto ASC per ordinare i dati in ordine crescente. Nella seconda query ho usato la parola chiave ASC. Se non utilizzi alcuna parola chiave dopo i nomi delle colonne, SQL Server ordinerà i dati in ordine crescente.


Come utilizzare Ordina per per ordinare il set di risultati in SQL Server


2) Come ordinare i dati in ordine decrescente
Per ordinare i risultati in ordine decrescente, devi aggiungere la parola chiave DESC dopo i nomi delle colonne. Diciamo che se desideriamo ordinare i dati utilizzando FName in ordine decrescente, utilizzeremo la query seguente.

  Select * From dbo.Customer
  order by FName DESC 
Come ordinare l'output restituito dalla query di selezione utilizzando Ordina per parola chiave
 
3) Utilizzo dei numeri delle colonne invece dei nomi delle colonne in ordine per
Puoi sempre utilizzare i numeri di colonna invece dei nomi di colonna in Ordina per. Diciamo che se desideriamo ordinare per FName, ID possiamo scrivere la nostra query utilizzando nomi o numeri di colonna come mostrato di seguito.

   Select * From dbo.Customer
  order by FName DESC,id DESC
  
  Select * from dbo.Customer
  Order by 2 DESC,1 DESC
 
Come utilizzare i numeri di colonna invece di utilizzare i nomi di colonna in ordine per per ordinare i risultati in SQL Server