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

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

Susan Sarandon
Susan Sarandon原創
2024-11-03 01:49:29490瀏覽

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

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