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