按MySQL「IN」子句中的值對結果排序
在MySQL 中的「IN」子句語句中,結果通常以無序的方式。但是,有多種方法可以根據子句中指定的值對結果進行排序。
使用FIELD()函數
一種方法是使用FIELD( ) 函數,傳回清單中指定值的位置。透過利用此功能,您可以按所需順序手動對結果進行排序。語法如下:
ORDER BY FIELD(column, value1, value2, ..., valueN)
範例
考慮以下範例:
SELECT * FROM account_records WHERE id IN (5,2,6,8,12,1) ORDER BY FIELD(id,5,2,6,8,12,1);
在此查詢中,結果將是依照FIELD()函數參數中指定的順序傳回,這些參數是「IN」子句中的值。
或者,使用臨時表
如上所述,您也可以考慮建立一個臨時表來實現所需的排序。這些步驟涉及:
雖然這種方法可以提供更通用的解決方案,但與使用直接使用 FIELD() 函數相比,效率較低排序要求。
以上是如何對 MySQL'IN”子句中的結果進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!