首頁  >  文章  >  資料庫  >  如何使用 FIELD 函數透過 IN() 子句順序對 MySQL 結果進行排序?

如何使用 FIELD 函數透過 IN() 子句順序對 MySQL 結果進行排序?

Susan Sarandon
Susan Sarandon原創
2024-11-17 13:59:02571瀏覽

How to Order MySQL Results by IN() Clause Order using the FIELD Function?

使用FIELD函數依IN()順序對結果排序

在MySQL中,ORDER BY子句可用於對查詢結果進行排序升序或降序。使用 IN() 方法時,可能很難確保傳回結果的順序與 IN() 子句中 ID 的順序相同。幸運的是,有一個解決方案:FIELD 函數。

FIELD 函數有兩個參數:欄位名稱和值清單。它傳回清單中與欄位值相符的第一個值的索引。例如,下列查詢將為值為3、2 或1 的行的「id」列傳回值1、2、3:

SELECT id, FIELD(id, 3, 2, 1) AS ordering FROM table_name;

按IN() 順序,只需將IN() 子句值作為第二個參數傳遞給FIELD 函數:

SELECT id, FIELD(id, 4, 7, 3, 8, 9) AS ordering FROM table_name;

這將以指定的順序傳回結果:

4 - Article 4
7 - Article 7
3 - Article 3
8 - Article 8
9 - Article 9

以上是如何使用 FIELD 函數透過 IN() 子句順序對 MySQL 結果進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn