首頁 > 資料庫 > mysql教程 > 如何對 MySQL'IN”子句中的結果進行排序?

如何對 MySQL'IN”子句中的結果進行排序?

Susan Sarandon
發布: 2024-11-03 01:49:29
原創
488 人瀏覽過

How to Order Results in a MySQL

按MySQL「IN」子句中的值對結果排序

在MySQL 中的「IN」子句語句中,結果通常以無序的方式。但是,有多種方法可以根據子句中指定的值對結果進行排序。

使用FIELD()函數

一種方法是使用FIELD( ) 函數,傳回清單中指定值的位置。透過利用此功能,您可以按所需順序手動對結果進行排序。語法如下:

ORDER BY FIELD(column, value1, value2, ..., valueN)
登入後複製

範例

考慮以下範例:

SELECT * FROM account_records
WHERE id IN (5,2,6,8,12,1)
ORDER BY FIELD(id,5,2,6,8,12,1);
登入後複製

在此查詢中,結果將是依照FIELD()函數參數中指定的順序傳回,這些參數是「IN」子句中的值。

或者,使用臨時表

如上所述,您也可以考慮建立一個臨時表來實現所需的排序。這些步驟涉及:

  1. 使用「IN」子句中的值建立臨時表。
  2. 將主表與「id」列上的臨時表連接。
  3. 根據臨時表中的值對結果進行排序。

雖然這種方法可以提供更通用的解決方案,但與使用直接使用 FIELD() 函數相比,效率較低排序要求。

以上是如何對 MySQL'IN”子句中的結果進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板