【问题标题】:MySQL sort order by array valueMySQL按数组值排序
【发布时间】:2011-12-24 16:53:32
【问题描述】:

我需要运行一个 MySQL 查询,其中顺序由数组值确定。

我的数组是可变的,但数组中的值对应于我的数据库表中名为“ID”的字段,因此我希望以 ID 顺序 9、1、4 返回结果。

Array ( [0] => 9 [1] => 1 [2] => 4 )

这在 MySQL 中是否可行,或者是否可以使用数组对 MySQL $result 进行排序?您可以假设返回的唯一值是数组中的值。

【问题讨论】:

    标签: mysql arrays sorting sql-order-by


    【解决方案1】:
    【解决方案2】:

    您想获取 ID 为 5, 2, 1, 3 的项目列表并以相同的顺序输出它们。但是,仅运行一个选择查询将按1, 2, 3, 5 的顺序返回项目。

    要正确排序结果,您需要构建一个描述 id 权重的 ORDER BY 项目列表。这看起来像

    ORDER BY id = 5 DESC, id = 2 DESC, id = 1 DESC, id = 3 DESC
    

    【讨论】:

      猜你喜欢
      • 2022-01-15
      • 2016-01-08
      • 1970-01-01
      • 2014-07-24
      • 2019-09-17
      • 2021-10-14
      • 2020-05-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多