問題:
使用WHERE IN 子句時,行通常是排序的依ORDER BY 子句中指定的列升序排列。但是,在某些情況下,需要保持 IN 子句中指定的行順序。
解決方案:
要實現此目的,您可以使用按字段排序功能。此函數根據其參數中指定的順序對行重新排序。
範例:
考慮以下查詢:
SELECT * FROM table WHERE id IN (118, 17, 113, 23, 72);
此查詢將傳回依 id 升序排序的行。若要保留 IN 子句中指定的行順序,您可以使用以下修改後的查詢:
SELECT * FROM table WHERE id IN (118, 17, 113, 23, 72) ORDER BY FIELD(id, 118, 17, 113, 23, 72)
透過指定所需的順序作為 FIELD 函數的參數,行將重新排序以符合該順序訂購。
以上是如何使用「WHERE IN」子句保留條件查詢中的行順序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!