」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何依照 WHERE IN 子句順序對 SQL 結果進行排序?

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

發佈於2024-11-08
瀏覽:475

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

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

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

解決方案:依欄位排序

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

  • 要排序的列
  • 表示所需順序的值列表

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

SELECT *
FROM table
WHERE id IN (118, 17, 113, 23, 72)
ORDER BY FIELD(id, 118, 17, 113, 23, 72);

此查詢將以下列順序傳回行:118, 17, 113, 23, 72。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3