我有简单的查询:
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
)
Thanx的帮助,解决方案的工作但非常缓慢,也许以后找到更好的东西,无论如何
解决方法:
我可以考虑通过任意列表进行排序的唯一方法是对该列表中的每个项进行ORDER BY比较.这很难看,但它会起作用.无论您在进行选择的任何代码中排序,都可能会更好.
SELECT data FROM t1 WHERE id IN (5, 2, 8, 1, 10)
ORDER BY id = 10, id = 1, id = 8, id = 2, id = 5
订单相反,否则您必须为每个条件添加DESC.
标签:mysql,sql-order-by
来源: https://codeday.me/bug/0625/1285397.html
如果觉得《mysql 按顺序添加_MySQL按顺序排序》对你有帮助,请点赞、收藏,并留下你的观点哦!