我有一个简单的查询:
SELECT data FROM table WHERE id IN (5, 2, 8, 1, 10)
问题在于,我如何选择我的数据并按照IN语句中的顺序进行排序。
顺序应为5、2、8、1、10。
问题是我没有可用于排序的键。IN数据来自其他查询(1),但我需要保持其原有的顺序。
有解决方案吗?
(1)
SELECT login
FROM posts
LEFT JOIN users ON posts.post_id=users.id
WHERE posts.post_n IN (
2280219,2372244, 2345146, 2374106, 2375952, 2375320, 2371611, 2360673, 2339976, 2331440, 2279494, 2329266, 2271919, 1672114, 2301856
)
谢谢你的帮助,解决方案有效但速度很慢,也许以后可以找到更好的方案,无论如何还是谢谢。
order by
,那么就没有默认排序。 - Matt Busche