如何在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)
顯示的所有行都按名稱的字母順序排列。類似地,可以按照類似的語法按分數的升序或降序排列行。
廣告