使用 ORDER BY FIELD 根据 WHERE IN 子句对行进行排序
在数据库查询中,WHERE IN 子句允许您根据以下条件过滤数据指定的值列表。但是,默认情况下,返回的行可能与子句中指定的顺序不同。
要根据 WHERE IN 子句中提供的顺序对行进行排序,可以使用 ORDER BY FIELD( ) 功能。此函数采用两个参数:
例如,给定以下查询:
SELECT * FROM table WHERE id IN (118, 17, 113, 23, 72);
按 ID 升序返回行,您可以使用 ORDER BY FIELD() 函数来获取按照 WHERE IN 子句中指定的顺序排列行:
SELECT * FROM table WHERE id IN (118, 17, 113, 23, 72) ORDER BY FIELD(id, 118, 17, 113, 23, 72)
在此查询中,ORDER BY FIELD() 函数按 id 字段对行进行排序,但具体顺序为 118, 17, 113 、23 和 72,如 WHERE IN 子句中指定的。
使用此技术,您可以轻松地根据 WHERE IN 子句中指定的顺序对行进行排序,确保它们以所需的顺序返回。
以上是如何根据 WHERE IN 子句中的顺序对行进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!