Gra*_*Fox 8 mysql sql-order-by in-clause
是否有一种简单的方法可以通过WHERE idIN(...)子句分别订购MySQL结果?例:
SELECT * FROM articles WHERE articles.id IN (4, 2, 5, 9, 3)
Run Code Online (Sandbox Code Playgroud)
回来
Article with id = 4
Article with id = 2
Article with id = 5
Article with id = 9
Article with id = 3
Run Code Online (Sandbox Code Playgroud)
并且
SELECT * FROM articles WHERE articles.id IN (4, 2, 5, 9, 3) LIMIT 2,2
Run Code Online (Sandbox Code Playgroud)
回来
Article with id = 5
Article with id = 9
Run Code Online (Sandbox Code Playgroud)
更新:更具体地说,我想避免篡改括号中的数据WHERE articles.id IN (4, 2, 5, 9, 3),因为这些ID是动态的并且是自动排序的.
bob*_*nce 14
是的,有点:
SELECT * FROM articles
WHERE articles.id IN (4, 2, 5, 9, 3)
ORDER BY FIND_IN_SET(articles.id, '4,2,5,9,3')
Run Code Online (Sandbox Code Playgroud)
但这是非标准的SQL并且有点味道.