首頁 >資料庫 >mysql教程 >如何使用「WHERE IN」子句保留條件查詢中的行順序?

如何使用「WHERE IN」子句保留條件查詢中的行順序?

Barbara Streisand
Barbara Streisand原創
2024-10-27 02:39:03571瀏覽

How Can I Preserve Row Order in Conditional Queries Using `WHERE IN` Clause?

在條件查詢中保留行順序

問題:

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

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