根據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