sql 中关键字 in 的排序问题

https://img4.mukewang.com/5c8f6e520001a11b08000348.jpg

为何查询的记录是倒过来的.

如何让查询记录按id('296727','296567','296507','296287')的顺序来排呢?

不用order by id desc; 这种.

求指教

补充:不用升序或者降序 就按id的顺序来排列.
譬如在296567后面加一个300000. 变成('296727','296567','300000','296507','296287');

查询记录 300000 是排在第三条记录..

牛魔王的故事
浏览 601回答 8
8回答

芜湖不芜

不能, in 是过滤,跟排序无关。

智慧大石

排序总是要用order by的

翻过高山走不出你

where id in (296727,296567,296507,296287) order by field(id, 296727,296567,296507,296287)

至尊宝的传说

你没有指定排序规则,mysql的查询优化器会自动设置一个排序规则。这个排序规则和你的in里面的顺序无关
打开App,查看更多内容
随时随地看视频慕课网APP