问题:
使用 WHERE IN 子句时,行通常是排序的按 ORDER BY 子句中指定的列升序排列。但是,在某些情况下,需要保持 IN 子句中指定的行顺序。
解决方案:
要实现此目的,您可以使用按字段排序功能。此函数根据其参数中指定的顺序对行重新排序。
示例:
考虑以下查询:
SELECT * FROM table WHERE id IN (118, 17, 113, 23, 72);
此查询将返回按 id 升序排序的行。要保留 IN 子句中指定的行顺序,您可以使用以下修改后的查询:
SELECT * FROM table WHERE id IN (118, 17, 113, 23, 72) ORDER BY FIELD(id, 118, 17, 113, 23, 72)
通过指定所需的顺序作为 FIELD 函数的参数,行将重新排序以匹配该顺序订购。
以上是如何使用'WHERE IN”子句保留条件查询中的行顺序?的详细内容。更多信息请关注PHP中文网其他相关文章!