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