为了账号安全,请及时绑定邮箱和手机立即绑定

sql 中关键字 in 的排序问题

sql 中关键字 in 的排序问题

PHP
牛魔王的故事 2019-03-18 18:09:22
为何查询的记录是倒过来的. 如何让查询记录按id('296727','296567','296507','296287')的顺序来排呢? 不用order by id desc; 这种. 求指教 补充:不用升序或者降序 就按id的顺序来排列.譬如在296567后面加一个300000. 变成('296727','296567','300000','296507','296287'); 查询记录 300000 是排在第三条记录..
查看完整描述

8 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

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

查看完整回答
反对 回复 2019-03-18
?
智慧大石

TA贡献1946条经验 获得超3个赞

排序总是要用order by的

查看完整回答
反对 回复 2019-03-18
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

where id in (296727,296567,296507,296287) order by field(id, 296727,296567,296507,296287)
查看完整回答
反对 回复 2019-03-18
?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

你没有指定排序规则,mysql的查询优化器会自动设置一个排序规则。这个排序规则和你的in里面的顺序无关

查看完整回答
反对 回复 2019-03-18
  • 8 回答
  • 0 关注
  • 600 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信