首頁  >  文章  >  資料庫  >  如何依照 WHERE IN 子句順序對 SQL 結果進行排序?

如何依照 WHERE IN 子句順序對 SQL 結果進行排序?

Susan Sarandon
Susan Sarandon原創
2024-10-26 12:09:29154瀏覽

How to Order SQL Results Based on WHERE IN Clause Order?

根據WHERE IN 子句順序對結果進行排序

在SQL 中使用WHERE IN 子句時,結果通常按列的自然順序排序排序(通常是升序)。但是,在某些情況下,您可能會想要按照 IN 子句中指定的順序傳回行。

解:依欄位排序

排序行依照 WHERE IN 子句中指定的順序排列,可以使用 ORDER BY FIELD 函數。此函數接受兩個參數:

  • 要排序的欄位
  • 表示所需順序的值清單

在這種情況下,您可以使用以下查詢按ID 列按照IN 子句中指定的順序對結果進行排序:

<code class="sql">SELECT *
FROM table
WHERE id IN (118, 17, 113, 23, 72)
ORDER BY FIELD(id, 118, 17, 113, 23, 72);</code>

此查詢將按以下順序返回行:118, 17, 113, 23, 72 .

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

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