gpt4 book ai didi

php - MySQL order-by 原始 "where order"

转载 作者:行者123 更新时间:2023-11-29 05:36:27 27 4
gpt4 key购买 nike

我有一个无法破解的排序问题。我这样从我的表中选择:

SELECT * FROM 'sidemodules' WHERE name = 'module1' OR name = 'module2' OR 'name3'

这会返回我想要的模块。但是模块位于表中,按以下顺序说:

  1. 模块 3
  2. 模块 1
  3. 模块 2

然后它们按此顺序返回给我。如何让它们按WHERE 子句 (1,2,3) 中的顺序显示?

最佳答案

我认为您正在寻找 FIELD :

SELECT * FROM sidemodules
WHERE name IN ('module1', 'module2', 'name3')
ORDER BY FIELD(name, 'module1', 'module2', 'name3')

无论如何,如果名称按字母顺序排列,只需使用:

ORDER BY name

另请注意,使用 IN 运算符通常比仅使用许多 OR 更快。​​

关于php - MySQL order-by 原始 "where order",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10164157/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com