我的字符串包含许多与我的数据库相对应的ID.
喜欢:
1,2,3,4,5
SELECT * FROM `table` WHERE `id` IN (".$myIDs.")
我希望MysqL按照它们在IN()选择中的顺序返回行.
所以,如果我反而拥有
2,1,3,4,5
在PHP中获取时,我会将#2作为第一行.
没有任何ORDER BY,它看起来像是先返回最低的ID.
如果您需要进一步扩展,请告诉我.
解决方法:
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
更多博客文章:Sorting MySQL rows using column values.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。