使用ORDER BY FIELD 根據WHERE IN 子句對行進行排序
在資料庫查詢中,WHERE IN 子句允許您根據以下條件過濾資料指定的值清單。但是,預設情況下,傳回的行可能與子句中指定的順序不同。
要依照 WHERE IN 子句中提供的順序對行進行排序,可以使用 ORDER BY FIELD( ) 功能。此函數採用兩個參數:
例如,給定以下查詢:
SELECT * FROM table WHERE id IN (118, 17, 113, 23, 72);
按ID 升序返回行,您可以使用ORDER BY FIELD() 函數來取得依照WHERE IN 子句中指定的順序排列行:
SELECT * FROM table WHERE id IN (118, 17, 113, 23, 72) ORDER BY FIELD(id, 118, 17, 113, 23, 72)
在此查詢中,ORDER BY FIELD() 函數依id 欄位對行進行排序,但具體順序為118, 17, 113 、23 和72,如WHERE IN 子句中指定的。
使用此技術,您可以輕鬆地根據 WHERE IN 子句中指定的順序對行進行排序,確保它們以所需的順序返回。
以上是如何依照 WHERE IN 子句中的順序對行進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!