MySQL对IN()中的参数进行排序
我的字符串包含很多与我的数据库相对应的ID。喜欢:
1,2,3,4,5
然后,我执行mySQL查询以选择所有这些行:
SELECT * FROM `table` WHERE `id` IN (".$myIDs.")
我希望mySQL按照我在IN()中选择的顺序返回行。
所以如果我有
2,1,3,4,5
在PHP中进行提取时,第一行将是#2。没有任何ORDER BY,看起来它首先返回最低的ID。
让我知道您是否需要进一步的扩展。
回答:
您应该可以通过如下FIELD()
功能执行此操作:
SELECT * FROM `table` WHERE `id` IN (2,1,3,4,5) ORDER BY FIELD(`id`, 2,1,3,4,5) DESC
那是:
SELECT *
FROM
`table`
WHERE
`id` IN (".$myIDs.")
ORDER BY
FIELD(`id`, ".$myIDs.") DESC
这篇博客文章的更多内容: 使用列值对MySQL行进行排序 。
以上是 MySQL对IN()中的参数进行排序 的全部内容, 来源链接: utcz.com/qa/407149.html