T-SQL - ORDER BY 子句

MS SQL Server ORDER BY 子句用于根据一列或多列以升序或降序对数据进行排序。 某些数据库排序查询默认以升序排列。


语法

以下是 ORDER BY 子句的基本语法。

SELECT column-list  
FROM table_name  
[WHERE condition]  
[ORDER BY column1, column2, .. columnN] [ASC | DESC];

您可以在 ORDER BY 子句中使用多个列。 确保您用于排序的任何列,该列应该在列列表中。


示例

考虑具有以下记录的 CUSTOMERS 表 −

ID  NAME       AGE       ADDRESS            SALARY 
1   Ramesh     32        Ahmedabad          2000.00 
2   Khilan     25        Delhi              1500.00 
3   kaushik    23        Kota               2000.00 
4   Chaitali   25        Mumbai             6500.00 
5   Hardik     27        Bhopal             8500.00 
6   Komal      22        MP                 4500.00 
7   Muffy      24        Indore             10000.00 

以下命令是一个示例,它将按 NAME 和 SALARY 升序对结果进行排序。

SELECT * FROM CUSTOMERS 
   ORDER BY NAME, SALARY 

上面的命令将产生以下输出。

ID  NAME       AGE       ADDRESS           SALARY 
4   Chaitali   25        Mumbai            6500.00 
5   Hardik     27        Bhopal            8500.00 
3   kaushik    23        Kota              2000.00 
2   Khilan     25        Delhi             1500.00 
6   Komal      22        MP                4500.00 
7   Muffy      24        Indore            10000.00 
1   Ramesh     32        Ahmedabad         2000.00 

以下命令是一个示例,它将按 NAME 降序对结果进行排序。

SELECT * FROM CUSTOMERS 
   ORDER BY NAME DESC

上述命令将产生以下结果 −

ID  NAME       AGE       ADDRESS            SALARY 
1   Ramesh     32        Ahmedabad          2000.00
7   Muffy      24        Indore             10000.00  
6   Komal      22        MP                 4500.00 
2   Khilan     25        Delhi              1500.00 
3   kaushik    23        Kota               2000.00
5   Hardik     27        Bhopal             8500.00
4   Chaitali   25        Mumbai             6500.00