首页  >  文章  >  数据库  >  如何使用“WHERE IN”子句保留条件查询中的行顺序?

如何使用“WHERE IN”子句保留条件查询中的行顺序?

Barbara Streisand
Barbara Streisand原创
2024-10-27 02:39:03450浏览

How Can I Preserve Row Order in Conditional Queries Using `WHERE IN` Clause?

在条件查询中保留行顺序

问题:

使用 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn