SQL ORDER BY 子句的升序排序2024年8月29日 | 阅读 7 分钟 - 当我们需要根据 SQL 数据库表中存储的列对记录进行排序时,我们会考虑在 SQL 中使用 ORDER BY 子句。
- SQL 中的 ORDER BY 子句用于根据表的特定列对记录进行排序。这意味着,首先,在 ORDER BY 子句应用的列中存储的所有值都将被排序。然后,相应的列值将按照我们在上一步中获得的值的顺序显示。
- 使用 ORDER BY 子句,我们可以根据需要按升序或降序对记录进行排序。当 ASC 关键字与 ORDER BY 子句一起使用时,记录将按升序排序。而 DESC 关键字将按降序对记录进行排序。如果在必须排序记录的列后面没有指定关键字,那么在这种情况下,默认情况下将按升序进行排序。
在编写排序记录的查询之前,让我们先了解一下语法。 按升序对记录进行排序的语法 不使用 ASC 关键字按升序对记录进行排序的语法 让我们通过示例进一步探讨这个主题。我们将使用 MySQL 数据库来编写示例查询。 假设我们有一个包含以下记录的 customers 表: ID | 姓名 | 年龄 | 地址 | 工资 |
---|
1 | Himani Gupta | 21 | Modinagar | 22000 | 2 | Shiva Tiwari | 22 | 博帕尔 | 21000 | 3 | Ajeet Bhargav | 45 | Meerut | 65000 | 4 | Ritesh Yadav | 36 | Azamgarh | 26000 | 5 | Balwant Singh | 45 | 瓦拉纳西 | 36000 | 6 | Mahesh Sharma | 26 | Mathura | 22000 | 7 | Rohit Shrivastav | 19 | Ahemdabad | 38000 | 8 | Neeru Sharma | 29 | Pune | 40000 | 9 | Aakash Yadav | 32 | 孟买 | 43500 | 10 | Sahil Sheikh | 35 | Aurangabad | 68800 |
示例 1编写一个查询,在 customers 表中按客户姓名升序对记录进行排序。 查询 在此 SELECT 查询中,ORDER BY 子句应用于 'Name' 列以对记录进行排序。ASC 关键字将按升序对记录进行排序。 您将得到以下输出 ID | 名称 | 年龄 | 地址 | 薪金 |
---|
9 | Aakash Yadav | 32 | 孟买 | 43500 | 3 | Ajeet Bhargav | 45 | Meerut | 65000 | 5 | Balwant Singh | 45 | 瓦拉纳西 | 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 | 博帕尔 | 21000 |
customers 表中的所有记录均按客户姓名升序显示。 示例 2编写一个查询,在 customers 表中按地址升序对记录进行排序。 查询 在此 SELECT 查询中,ORDER BY 子句应用于 'Address' 列以对记录进行排序。ORDER BY 子句后面没有使用关键字。因此,记录默认将按升序排序。 您将得到以下输出 ID | 名称 | 年龄 | 地址 | 薪金 |
---|
7 | Rohit Shrivastav | 19 | Ahemdabad | 38000 | 10 | Sahil Sheikh | 35 | Aurangabad | 68800 | 4 | Ritesh Yadav | 36 | Azamgarh | 26000 | 2 | Shiva Tiwari | 22 | 博帕尔 | 21000 | 6 | Mahesh Sharma | 26 | Mathura | 22000 | 3 | Ajeet Bhargav | 45 | Meerut | 65000 | 1 | Himani Gupta | 21 | Modinagar | 22000 | 9 | Aakash Yadav | 32 | 孟买 | 43500 | 8 | Neeru Sharma | 29 | Pune | 40000 | 5 | Balwant Singh | 45 | 瓦拉纳西 | 36000 |
customers 表中的所有记录均按客户地址升序显示。 示例 3编写一个查询,在 customers 表中按客户工资升序对记录进行排序。 查询 在此 SELECT 查询中,ORDER BY 子句应用于 'Salary' 列以对记录进行排序。ASC 关键字将按升序对记录进行排序。 您将得到以下输出 ID | 名称 | 年龄 | 地址 | 薪金 |
---|
2 | Shiva Tiwari | 22 | 博帕尔 | 21000 | 1 | Himani Gupta | 21 | Modinagar | 22000 | 6 | Mahesh Sharma | 26 | Mathura | 22000 | 4 | Ritesh Yadav | 36 | Azamgarh | 26000 | 5 | Balwant Singh | 45 | 瓦拉纳西 | 36000 | 7 | Rohit Shrivastav | 19 | Ahemdabad | 38000 | 8 | Neeru Sharma | 29 | Pune | 40000 | 9 | Aakash Yadav | 32 | 孟买 | 43500 | 3 | Ajeet Bhargav | 45 | Meerut | 65000 | 10 | Sahil Sheikh | 35 | Aurangabad | 68800 |
customers 表中的所有记录均按客户工资升序显示。 示例 4编写一个查询,在 customers 表中按客户年龄升序对记录进行排序。 查询 在此 SELECT 查询中,ORDER BY 子句应用于 'Age' 列以对记录进行排序。ORDER BY 子句后面没有使用关键字。因此,记录默认将按升序排序。 您将得到以下输出 ID | 名称 | 年龄 | 地址 | 薪金 |
---|
7 | Rohit Shrivastav | 19 | Ahemdabad | 38000 | 1 | Himani Gupta | 21 | Modinagar | 22000 | 2 | Shiva Tiwari | 22 | 博帕尔 | 21000 | 6 | Mahesh Sharma | 26 | Mathura | 22000 | 8 | Neeru Sharma | 29 | Pune | 40000 | 9 | Aakash Yadav | 32 | 孟买 | 43500 | 10 | Sahil Sheikh | 35 | Aurangabad | 68800 | 4 | Ritesh Yadav | 36 | Azamgarh | 26000 | 5 | Balwant Singh | 45 | 瓦拉纳西 | 36000 | 3 | Ajeet Bhargav | 45 | Meerut | 65000 |
customers 表中的所有记录均按客户年龄升序显示。 假设我们有另一个名为 agents 的表,其中包含以下记录 AID | 名称 | WorkArea | Profit_Percent | ContactNumber | 薪金 |
---|
1 | Gurpreet Singh | 班加罗尔 | 1 | 9989675432 | 43000 | 2 | Sakshi Kumari | 金奈 | 5 | 8190567342 | 25000 | 3 | Prachi Desai | 孟买 | 2 | 9056123432 | 60000 | 4 | Shivani More | Pune | 3 | 8894236789 | 35500 | 5 | Pallavi Singh | 德里 | 4 | 7798092341 | 38700 | 6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 | 7 | Shweta Dixit | 昌迪加尔 | 6 | 8898786453 | 31670 | 8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 | 9 | Anushka Tripathi | Ujjain | 9 | 8909124326 | 38000 | 10 | Devika Sharma | 果阿 | 7 | 7864523145 | 44050 |
示例 1编写一个查询,在 agents 表中按代理姓名升序对记录进行排序。 查询 在此 SELECT 查询中,ORDER BY 子句应用于 'Name' 列以对记录进行排序。ASC 关键字将按升序对记录进行排序。 您将得到以下输出 AID | 名称 | WorkArea | Profit_Percent | ContactNumber | 薪金 |
---|
9 | Anushka Tripathi | Ujjain | 9 | 8909124326 | 38000 | 10 | Devika Sharma | 果阿 | 7 | 7864523145 | 44050 | 1 | Gurpreet Singh | 班加罗尔 | 1 | 9989675432 | 43000 | 5 | Pallavi Singh | 德里 | 4 | 7798092341 | 38700 | 3 | Prachi Desai | 孟买 | 2 | 9056123432 | 60000 | 6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 | 2 | Sakshi Kumari | 金奈 | 5 | 8190567342 | 25000 | 4 | Shivani More | Pune | 3 | 8894236789 | 35500 | 7 | Shweta Dixit | 昌迪加尔 | 6 | 8898786453 | 31670 | 8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
agents 表中的所有记录均按代理姓名升序显示。 示例 2编写一个查询,在 agents 表中按代理工资升序对记录进行排序。 查询 在此 SELECT 查询中,ORDER BY 子句应用于 'Salary' 列以对记录进行排序。ORDER BY 子句后面没有使用关键字。因此,记录默认将按升序排序。 您将得到以下输出 AID | 名称 | WorkArea | Profit_Percent | ContactNumber | 薪金 |
---|
2 | Sakshi Kumari | 金奈 | 5 | 8190567342 | 25000 | 8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 | 6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 | 7 | Shweta Dixit | 昌迪加尔 | 6 | 8898786453 | 31670 | 4 | Shivani More | Pune | 3 | 8894236789 | 35500 | 9 | Anushka Tripathi | Ujjain | 9 | 8909124326 | 38000 | 5 | Pallavi Singh | 德里 | 4 | 7798092341 | 38700 | 1 | Gurpreet Singh | 班加罗尔 | 1 | 9989675432 | 43000 | 10 | Devika Sharma | 果阿 | 7 | 7864523145 | 44050 | 3 | Prachi Desai | 孟买 | 2 | 9056123432 | 60000 |
agents 表中的所有记录均按客户工资升序显示。 示例 3编写一个查询,在 agents 表中按代理的工作区域升序对记录进行排序。 查询 在此 SELECT 查询中,ORDER BY 子句应用于 'WorkArea' 列以对记录进行排序。ORDER BY 子句后面没有使用关键字。因此,记录默认将按升序排序。 您将得到以下输出 AID | 名称 | WorkArea | Profit_Percent | ContactNumber | 薪金 |
---|
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 | 1 | Gurpreet Singh | 班加罗尔 | 1 | 9989675432 | 43000 | 7 | Shweta Dixit | 昌迪加尔 | 6 | 8898786453 | 31670 | 2 | Sakshi Kumari | 金奈 | 5 | 8190567342 | 25000 | 5 | Pallavi Singh | 德里 | 4 | 7798092341 | 38700 | 10 | Devika Sharma | 果阿 | 7 | 7864523145 | 44050 | 3 | Prachi Desai | 孟买 | 2 | 9056123432 | 60000 | 4 | Shivani More | Pune | 3 | 8894236789 | 35500 | 8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 | 9 | Anushka Tripathi | Ujjain | 9 | 8909124326 | 38000 |
agents 表中的所有记录均按客户工作区域升序显示。 示例 4编写一个查询,在 agents 表中按代理的利润百分比升序对记录进行排序。 查询 在此 SELECT 查询中,ORDER BY 子句应用于 'Profit_Percent' 列以对记录进行排序。ASC 关键字将按升序对记录进行排序。 您将得到以下输出 AID | 名称 | WorkArea | Profit_Percent | ContactNumber | 薪金 |
---|
1 | Gurpreet Singh | 班加罗尔 | 1 | 9989675432 | 43000 | 3 | Prachi Desai | 孟买 | 2 | 9056123432 | 60000 | 8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 | 4 | Shivani More | Pune | 3 | 8894236789 | 35500 | 5 | Pallavi Singh | 德里 | 4 | 7798092341 | 38700 | 2 | Sakshi Kumari | 金奈 | 5 | 8190567342 | 25000 | 7 | Shweta Dixit | 昌迪加尔 | 6 | 8898786453 | 31670 | 10 | Devika Sharma | 果阿 | 7 | 7864523145 | 44050 | 6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 | 9 | Anushka Tripathi | Ujjain | 9 | 8909124326 | 38000 |
agents 表中的所有记录均按客户利润百分比升序显示。
|