使用FIELD函数按IN()顺序对结果进行排序
在MySQL中,ORDER BY子句可用于对查询结果进行排序升序或降序。使用 IN() 方法时,可能很难确保返回结果的顺序与 IN() 子句中 ID 的顺序相同。幸运的是,有一个解决方案:FIELD 函数。
FIELD 函数有两个参数:字段名称和值列表。它返回列表中与字段值匹配的第一个值的索引。例如,以下查询将为值为 3、2 或 1 的行的“id”列返回值 1、2、3:
SELECT id, FIELD(id, 3, 2, 1) AS ordering FROM table_name;
按IN() 顺序,只需将 IN() 子句值作为第二个参数传递给 FIELD 函数:
SELECT id, FIELD(id, 4, 7, 3, 8, 9) AS ordering FROM table_name;
这将按指定的顺序返回结果:
4 - Article 4 7 - Article 7 3 - Article 3 8 - Article 8 9 - Article 9
以上是如何使用 FIELD 函数通过 IN() 子句顺序对 MySQL 结果进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!