如何在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 次瀏覽

啟動您的職業生涯

完成課程後獲得認證

開始
廣告