【问题标题】:Return query results in same order as the values in my `IN(....)` statement以与我的 `IN(....)` 语句中的值相同的顺序返回查询结果
【发布时间】:2013-05-10 15:47:02
【问题描述】:

我需要使用“IN”语句从我的数据库中选择用户,例如:

SELECT *
FROM users
WHERE user_id IN ("20,24,23,26,27,28,25")

...这可行,但我的输出需要这个顺序(20,24,23,26,27,28,25)。 PHP 通过 DESC 或 ASC 对 id 进行排序……我该如何解决这个问题?

【问题讨论】:

  • 旁注:在这种情况下,不是 PHP 执行此操作,而是 mySQL。

标签: mysql sql


【解决方案1】:

只需在ORDER BY 子句中使用FIELD()

ORDER BY FIELD(user_id, 20, 24, 23, 26, 27, 28, 25) ASC

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 2016-07-10
    • 2018-07-15
    • 2020-01-03
    • 1970-01-01
    • 2017-01-14
    相关资源
    最近更新 更多