首頁 >資料庫 >mysql教程 >如何根據 MySQL 中的特定 ID 清單對查詢結果進行排序?

如何根據 MySQL 中的特定 ID 清單對查詢結果進行排序?

Patricia Arquette
Patricia Arquette原創
2024-10-30 16:52:02269瀏覽

How to Order Query Results Based on a Specific List of IDs in MySQL?

使用FIND_IN_SET 自訂查詢結果順序

雖然直覺上認為SELECT 語句會保留指定ID 的順序,但預設情況下,MySQL將以任意順序傳回結果。但是,透過使用 FIND_IN_SET 函數的巧妙技術,您可以覆寫此行為並為結果建立預定順序。

考慮以下查詢,其目的是檢索ID 7、2、5、9 和8:

無論WHERE 子句中ID 的順序如何,結果都將始終按照表的內部順序傳回。要自訂順序,您可以利用 FIND_IN_SET 函數:

透過在 FIND_IN_SET 的第二個參數中提供所需順序的逗號分隔列表,您實際上建立了一個排名。每個 ID 在清單中的位置決定了其在結果集中的順序。

例如,下面的查詢將按照第二個參數指定的順序對結果進行排序:

使用此技術,您可以精確控制查詢結果的順序,使您可以靈活地根據預先定義的順序排列資料。

以上是如何根據 MySQL 中的特定 ID 清單對查詢結果進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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