我有这个MySql查询:

SELECT * FROM `tbl_prods`
WHERE `id` IN ('58', '169', '166', '496', '24', '28')
ORDER BY FIND_IN_SET(`id`, '58, 169, 166, 496, 24, 28')


结果很奇怪:

24
28
166
169
496
58


我不知道如何通过我的FIND_IN_SET返回确切的订单

有什么想法我做错了吗?

最佳答案

使用FIELD代替FIND_IN_SET

SELECT * FROM `tbl_prods`
WHERE `id` IN ('58', '169', '166', '496', '24', '28')
ORDER BY FIELD(`id`, '58', '169', '166', '496', '24', '28')

关于mysql - FIND_IN_SET问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4312766/

10-13 06:02