MySQL 如何按照MySQL中的查询结果排序?
常见的情况是从表格中选择某些数据或行。选中的行会按照它们在表中出现的顺序返回。有时,我们可能需要按照某个列的升序或降序返回从表格中选出的行。
“ORDER BY”语句用于按照某个列对结果排序。下面的示例将提供更多的清晰度。
假设我们有一个包含多个字段(包括“name”字段)的表格。我们想从该表中选择所有行,但是我们希望行按照姓名的字母顺序返回给我们。这就是“ORDER BY”语句派上用场的地方。这种情况要求我们按照“name”字段的升序排列结果。
在默认情况下,“ORDER BY”语句按照指定的列进行升序排序。如果你想要按降序排序结果,则需要指定同样的关键字。要按降序排序结果,需要指定关键字“DESC”。
阅读更多:MySQL 教程
语法
升序排序
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)
所有显示的行都按照姓名的字母顺序排列。类似地,可以按照类似的语法以升序或降序方式排列成绩。