使用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中文網其他相關文章!