在WHERE in函数中按问题排序


Mysql Order by issue in WHERE IN function

SELECT * FROM (`poll`) WHERE `poll_id` IN ('6,10,5,9,1') AND `poll_status` = '1'

我尝试了这个查询。我期望它会像我给出的结果一样。但是它会自动按升序排序。我需要我付出的结果。请给我一个解决办法。

您可以在mysql中使用FIELD:

SELECT * 
FROM (`poll`) 
WHERE `poll_id` IN (6,10,5,9,1) 
  AND `poll_status` = 1
ORDER BY FIELD(`poll_id`,6,10,5,9,1)

你必须像这样分开你的id:

SELECT * FROM (`poll`) WHERE `poll_id` IN (6,10,5,9,1) AND `poll_status` = '1'