排序 ORDER BY
57.14 排序 ORDER BY
ORDER BY 列 [ASC|DESC] — ASC 升序(默认),DESC 降序。
多列排序:ORDER BY class_name ASC, score DESC — 先按班级升序,同班再按分数降序。
按分数排名
import pymysql
conn = pymysql.connect(host='127.0.0.1', user='root', password='root', database='py_demo', charset='utf8mb4')
try:
with conn.cursor() as cur:
cur.execute('SELECT name, score FROM students ORDER BY score DESC')
print('分数从高到低:')
for i, row in enumerate(cur.fetchall(), 1):
print(i, row)
cur.execute(
'SELECT name, class_name, score FROM students ORDER BY class_name, score DESC'
)
print('按班+分数:', cur.fetchall())
finally:
conn.close()