SQL ORDER BY子句以降序排序

SQL ORDER BY子句以降序排序

  • 每当我们想要根据SQL数据库表中存储的列来对记录进行排序时,我们会考虑使用ORDER BY子句。
  • SQL中的ORDER BY子句可以根据表的特定列对记录进行排序。这意味着最初,我们应用ORDER BY子句的列中存储的所有值将被排序。然后,相应的列值将按照我们在前一步中获得的值的顺序显示。
  • 使用ORDER BY子句,我们可以根据需要按升序或降序对记录进行排序。每当与ORDER BY子句一起使用ASC关键字时,记录将按升序排序。 DESC关键字将按降序排序记录 。如果在排序记录的基础列之后没有指定关键字,那么在这种情况下,排序将默认按升序进行。

编写排序记录的查询之前,让我们了解一下语法。

按降序排序记录的语法:

SELECT ColumnName1,…,ColumnNameN FROM TableName  ORDER BY ColumnNameDESC;  

让我们通过示例来更深入地探讨这个主题。我们将使用MySQL数据库来编写示例中的查询。

假设我们有以下客户表的记录:

ID NAME AGE ADDRESS SALARY
1 Himani Gupta 21 Modinagar 22000
2 Shiva Tiwari 22 Bhopal 21000
3 Ajeet Bhargav 45 Meerut 65000
4 Ritesh Yadav 36 Azamgarh 26000
5 Balwant Singh 45 Varanasi 36000
6 Mahesh Sharma 26 Mathura 22000
7 Rohit Shrivastav 19 Ahemdabad 38000
8 Neeru Sharma 29 Pune 40000
9 Aakash Yadav 32 Mumbai 43500
10 Sahil Sheikh 35 Aurangabad 68800

示例 1:

编写一个查询,按照存储在客户表中的客户名称的降序对记录进行排序。

查询:

mysql> SELECT *FROM customers ORDER BY Name DESC;

在SELECT查询中,使用ORDER BY子句对列“Name”应用排序,以对记录进行排序。使用DESC关键字可以按降序对记录进行排序。

您将获得以下输出:

ID NAME AGE ADDRESS SALARY
2 Shiva Tiwari 22 Bhopal 21000
10 Sahil Sheikh 35 Aurangabad 68800
7 Rohit Shrivastav 19 Ahemdabad 38000
4 Ritesh Yadav 36 Azamgarh 26000
8 Neeru Sharma 29 Pune 40000
6 Mahesh Sharma 26 Mathura 22000
1 Himani Gupta 21 Modinagar 22000
5 Balwant Singh 45 Varanasi 36000
3 Ajeet Bhargav 45 Meerut 65000
9 Aakash Yadav 32 Mumbai 43500

所有在客户表中的记录按照客户姓名的降序进行显示。

示例2:

编写一个查询,按照客户表中存储的地址的降序对记录进行排序。

查询:

mysql> SELECT *FROM customers ORDER BY Address DESC;

在SELECT查询中,应用ORDER BY子句到’Address’列以对记录进行排序。DESC关键字将按降序对记录进行排序。

您将获得以下输出:

ID NAME AGE ADDRESS SALARY
5 Balwant Singh 45 Varanasi 36000
8 Neeru Sharma 29 Pune 40000
9 Aakash Yadav 32 Mumbai 43500
1 Himani Gupta 21 Modinagar 22000
3 Ajeet Bhargav 45 Meerut 65000
6 Mahesh Sharma 26 Mathura 22000
2 Shiva Tiwari 22 Bhopal 21000
4 Ritesh Yadav 36 Azamgarh 26000
10 Sahil Sheikh 35 Aurangabad 68800
7 Rohit Shrivastav 19 Ahemdabad 38000

所有在顾客表中的记录按照顾客地址的降序显示。

示例3:

写一个查询来根据顾客表中存储的顾客薪水的降序对记录进行排序。

查询:

mysql> SELECT *FROM customers ORDER BY Salary DESC;

在SELECT查询中,将“Salary”列应用ORDER BY子句以对记录进行排序。DESC关键字将按降序对记录进行排序。

您将得到以下输出:

ID Name Age Address Salary
10 Sahil Sheikh 35 Aurangabad 68800
3 Ajeet Bhargav 45 Meerut 65000
9 Aakash Yadav 32 Mumbai 43500
8 Neeru Sharma 29 Pune 40000
7 Rohit Shrivastav 19 Ahemdabad 38000
5 Balwant Singh 45 Varanasi 36000
4 Ritesh Yadav 36 Azamgarh 26000
6 Mahesh Sharma 26 Mathura 22000
1 Himani Gupta 21 Modinagar 22000
2 Shiva Tiwari 22 Bhopal 21000

所有在customers表中的记录都按照顾客的薪水降序显示。

示例4:

编写一个查询,按照customers表中顾客年龄的降序排序记录。

查询:

mysql> SELECT *FROM customers ORDER BY Age DESC;

在这个SELECT查询中,对列’Age’应用了ORDER BY子句来对记录进行排序。DESC关键字将记录按降序排序。

你将会得到以下输出:

ID Name Age Address Salary
3 Ajeet Bhargav 45 Meerut 65000
5 Balwant Singh 45 Varanasi 36000
4 Ritesh Yadav 36 Azamgarh 26000
10 Sahil Sheikh 35 Aurangabad 68800
9 Aakash Yadav 32 Mumbai 43500
8 Neeru Sharma 29 Pune 40000
6 Mahesh Sharma 26 Mathura 22000
2 Shiva Tiwari 22 Bhopal 21000
1 Himani Gupta 21 Modinagar 22000
7 Rohit Shrivastav 19 Ahemdabad 38000

所有在客户表中的记录按照客户年龄的降序显示。

考虑我们还有另一个名为代理商的表,包含以下记录:

AID Name WorkArea Profit_Percent ContactNumber Salary
1 Gurpreet Singh Bangalore 1 9989675432 43000
2 Sakshi Kumari Chennai 5 8190567342 25000
3 Prachi Desai Mumbai 2 9056123432 60000
4 Shivani More Pune 3 8894236789 35500
5 Pallavi Singh Delhi 4 7798092341 38700
6 Rohini Kulkarni Ambala 8 7890945612 25670
7 Shweta Dixit Chandigarh 6 8898786453 31670
8 Sonakshi Tiwari Udaipur 2 9809453421 25050
9 Anushka Tripathi Ujjain 9 8909124326 38000
10 Devika Sharma Goa 7 7864523145 44050

示例 1:

编写一个查询,以agents表中代理商名称的降序方式对记录进行排序。

查询:

mysql> SELECT *FROM agents ORDER BY Name DESC;

在这个SELECT查询中,使用ORDER BY子句在列“Name”上应用排序规则对记录进行排序。DESC关键字将按降序对记录进行排序。

你将获得以下输出:

AID Name WorkArea Profit_Percent ContactNumber Salary
8 Sonakshi Tiwari Udaipur 2 9809453421 25050
7 Shweta Dixit Chandigarh 6 8898786453 31670
4 Shivani More Pune 3 8894236789 35500
2 Sakshi Kumari Chennai 5 8190567342 25000
6 Rohini Kulkarni Ambala 8 7890945612 25670
3 Prachi Desai Mumbai 2 9056123432 60000
5 Pallavi Singh Delhi 4 7798092341 38700
1 Gurpreet Singh Bangalore 1 9989675432 43000
10 Devika Sharma Goa 7 7864523145 44050
9 Anushka Tripathi Ujjain 9 8909124326 38000

所有在代理人表中的记录按代理人名称的降序显示。

示例2:

编写一个查询,按代理人表中存储的代理人薪资的降序对记录进行排序。

查询:

mysql> SELECT *FROM agents ORDER BY Salary DESC;

在一个SELECT查询中,对列’Salary’应用ORDER BY子句来对记录进行排序。DESC关键字将按降序排序记录。

你将会得到以下输出:

AID Name WorkArea Profit_Percent ContactNumber Salary
3 Prachi Desai Mumbai 2 9056123432 60000
10 Devika Sharma Goa 7 7864523145 44050
1 Gurpreet Singh Bangalore 1 9989675432 43000
5 Pallavi Singh Delhi 4 7798092341 38700
9 Anushka Tripathi Ujjain 9 8909124326 38000
4 Shivani More Pune 3 8894236789 35500
7 Shweta Dixit Chandigarh 6 8898786453 31670
6 Rohini Kulkarni Ambala 8 7890945612 25670
8 Sonakshi Tiwari Udaipur 2 9809453421 25050
2 Sakshi Kumari Chennai 5 8190567342 25000

将代理表中的所有记录按照代理薪水的降序显示。

例子3:

编写一个查询,按照代理表中存储的代理工作区域的降序对记录进行排序。

查询:

mysql> SELECT *FROM agents ORDER BY WorkArea DESC;

在SELECT查询中,对列’WorkArea’应用ORDER BY子句以对记录进行排序。DESC关键字将按降序对记录进行排序。

您将获得以下输出:

AID Name WorkArea Profit_Percent ContactNumber Salary
9 Anushka Tripathi Ujjain 9 8909124326 38000
8 Sonakshi Tiwari Udaipur 2 9809453421 25050
4 Shivani More Pune 3 8894236789 35500
3 Prachi Desai Mumbai 2 9056123432 60000
10 Devika Sharma Goa 7 7864523145 44050
5 Pallavi Singh Delhi 4 7798092341 38700
2 Sakshi Kumari Chennai 5 8190567342 25000
7 Shweta Dixit Chandigarh 6 8898786453 31670
1 Gurpreet Singh Bangalore 1 9989675432 43000
6 Rohini Kulkarni Ambala 8 7890945612 25670

在代理商表中,所有记录都按照代理商工作区域的降序显示。

示例4:

编写一个查询以按代理商表中存储的代理利润百分比的降序对记录排序。

查询:

mysql> SELECT *FROM agents ORDER BY Profit_Percent DESC;

在这里的SELECT查询中,对列’Profit_Percent’应用ORDER BY子句来对记录进行排序。DESC关键字会按降序排序记录。

您将获得以下输出:

AID Name WorkArea Profit_Percent ContactNumber Salary
9 Anushka Tripathi Ujjain 9 8909124326 38000
6 Rohini Kulkarni Ambala 8 7890945612 25670
10 Devika Sharma Goa 7 7864523145 44050
7 Shweta Dixit Chandigarh 6 8898786453 31670
2 Sakshi Kumari Chennai 5 8190567342 25000
5 Pallavi Singh Delhi 4 7798092341 38700
4 Shivani More Pune 3 8894236789 35500
3 Prachi Desai Mumbai 2 9056123432 60000
8 Sonakshi Tiwari Udaipur 2 9809453421 25050
1 Gurpreet Singh Bangalore 1 9989675432 43000

所有在代理商表中的记录按照代理商利润百分比的降序显示。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程