如何在MySQL中排序select查询的结果?


通常需要从表中选择某些数据或行。返回的行按照它们在表中出现的顺序排列。有时我们可能需要按照某个列的升序或降序返回从表中选择的行。

“ORDER BY”语句用于根据某个列排序结果。“ORDER BY”语句默认按升序排序指定列。如果要按降序排序,需要指定“DESC”关键字。

例如,假设我们有一个表,其中包含各种字段,包括“name”字段。我们想要选择表中的所有行,但希望这些行按名称的字母顺序排列。这就是“ORDER BY”语句发挥作用的地方。这种情况需要我们按“name”字段的升序排列结果。

“ORDER BY”语句默认按升序排列指定的列。如果要按降序排列结果,则需要指定“DESC”关键字。

语法

升序

SELECT * FROM table_name ORDER BY column_name

降序

SELECT * FROM table_name ORDER BY column_name DESC

使用Python中的MySQL排序从表中检索到的数据所涉及的步骤

  • 导入MySQL连接器

  • 使用connect()方法建立与连接器的连接

  • 使用cursor()方法创建游标对象

  • 使用适当的MySQL语句创建查询

  • 使用execute()方法执行SQL查询

  • 关闭连接

假设我们有一个名为“Student”的表,如下所示:

+----------+---------+-----------+------------+
|    Name  |   Class |    City   | Marks      |
+----------+---------+-----------+------------+
|    Karan |    4    |  Amritsar |    95      |
|    Sahil |    6    |  Amritsar |    93      |
|    Kriti |    3    |    Batala |    88      |
|   Khushi |    9    |    Delhi  |    90      |
|    Kirat |    5    |    Delhi  |    85      |
+----------+---------+-----------+------------+

示例

我们希望选择表中的所有行,但按其名称的字母顺序排列。简而言之,我们希望按名称的升序排列结果。

import mysql.connector

db=mysql.connector.connect(host="your host", user="your username", password="your
password",database="database_name")

cursor=db.cursor()

query= "SELECT * FROM Students ORDER BY Name"
cursor.execute(query)
for row in cursor:
   print(row)

成功执行上述代码后,将按学生姓名的升序(字母顺序)返回行。

输出

(‘Amit’ , 9 , ‘Delhi’ , 90)
(‘Karan’, 4 ,’Amritsar’ , 95)
(‘Kriti’ , 3 , ‘Batala’ ,88)
(‘Priya’ , 5 , ‘Delhi’ ,85)
(‘Sahil’ , 6 , ‘Amritsar’ ,93)

显示的所有行都按名称的字母顺序排列。类似地,可以按照类似的语法按分数的升序或降序排列行。

更新于:2021年6月10日

631 次浏览

启动您的职业生涯

完成课程后获得认证

开始
广告