SQL ORDER BY 升序排序

SQL ORDER BY 升序排序

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

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

按升序排序记录的语法:

SELECT ColumnName1,…,ColumnNameN FROM TableName  ORDER BY ColumnName ASC;  

没有使用ASC关键字对记录进行升序排序的语法:

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

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

考虑我们有一个名为customers的表,其中包含以下记录:

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:

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

查询:

mysql> SELECT *FROM customers ORDER BY Name ASC;

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

您将获得以下输出:

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

所有在customers表中的记录以顾客姓名的升序显示。

示例2:

编写一个查询,以customers表中存储的地址的升序排序记录。

查询:

mysql> SELECT *FROM customers ORDER BY Address;

在一个SELECT查询中,对’Address’列应用ORDER BY子句对记录进行排序。在ORDER BY子句之后没有使用关键字。因此,默认情况下,记录将按升序排序。

您将获得以下输出:

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

将存储在顾客表中的所有记录按照顾客的地址升序显示。

示例3:

编写一个查询,按照顾客表中存储的顾客工资的升序对记录进行排序。

查询:

mysql> SELECT *FROM customers ORDER BY Salary ASC;

在这里,使用SELECT查询,在列’Salary’上应用ORDER BY子句来对记录进行排序。ASC关键字将按升序对记录进行排序。

您将获得以下输出:

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

所有在customers表中的记录按照客户的薪水进行升序显示。

示例4:

编写一个查询,按照customers表中存储的客户年龄的升序对记录进行排序。

查询:

mysql> SELECT *FROM customers ORDER BY Age;

在SELECT查询中,通过在列’Age’上应用ORDER BY子句来对记录进行排序。在ORDER BY子句之后没有使用关键字。因此,默认情况下,记录将按升序排序。

您将获得以下输出:

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

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

假设我们有另一个名为agents的表,具有以下记录:

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:

编写一个查询来按照代理商表中存储的代理商名称的升序排序记录。

查询:

mysql> SELECT *FROM agents ORDER BY Name ASC;

在一个SELECT查询中,对列名为’Name’的列应用ORDER BY子句来对记录进行排序。ASC关键字将按升序对记录进行排序。

你将得到以下输出:

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

所有在代理商表中的记录按代理人姓名的升序显示。

例2:

编写一个查询按代理商表中存储的代理薪水的升序排序记录。

查询:

mysql> SELECT *FROM agents ORDER BY Salary;

在SELECT查询中,对列’Salary’应用ORDER BY子句以排序记录。在ORDER BY子句后没有使用关键字。因此,默认情况下,记录将按升序排序。

您将获得以下输出:

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

所有在代理商表中的记录按客户的薪水以升序显示。

例子3:

写一个查询来按照代理商工作区的升序排序存储在代理商表中的记录。

查询:

mysql> SELECT *FROM agents ORDER BY WorkArea;

在一个SELECT查询中,对列’WorkArea’应用ORDER BY子句来对记录进行排序。在ORDER BY子句后没有使用关键词。因此,记录默认会按照升序进行排序。

你将得到以下输出:

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

将代理表中的所有记录按照客户的工作区升序显示。

例4:

编写一个查询,按照代理表中存储的代理利润百分比的升序对记录进行排序。

查询:

mysql> SELECT *FROM agents ORDER BY Profit_Percent ASC;

在这个SELECT查询中,使用ORDER BY子句对列’Profit_Percent’进行排序以排序记录。ASC关键字将按升序对记录进行排序。

您将获得以下输出:

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

所有出现在代理商表中的记录按客户利润百分比升序显示。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程