mysql的查询用in,怎么按照in里面的查询顺序进行排名

 我来答
匿名用户
2017-04-27
展开全部
具体查询如下:
SELECT*
FROM tableNameWHERE id IN(179906362505 , 63323849672846 , 1842319481513 , 11931471166161 , 926221118 , 124571 , 55434 , 9297877807)
查询的结果和in中的顺序并不一致,也就是说在批量查询时,mysql的查询并不是按照in中的值得顺序来查询的。那怎么才能保证和in查询中的顺序相同呢?
查询了资料发现有两种方式可以对in查询的结果进行排序。一种是order by find_in_set,另外一种是order by substring_index
匿名用户
2017-04-27
展开全部
select * from test where id in(3,1,5) order by find_in_set(id,'3,1,5');
select * from test where id in(3,1,5) order by substring_index('3,1,2',id,1);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东风冷雪
2017-09-16 · TA获得超过3945个赞
知道大有可为答主
回答量:3910
采纳率:76%
帮助的人:932万
展开全部
in只是查询 离散字段
排名是 select clnum1,clnum2,这个字段显示
order by排序,
group by 分组。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
留白生财
2018-09-17
知道答主
回答量:16
采纳率:0%
帮助的人:3.7万
展开全部
SELECT *FROM tableNameWHERE id IN(179906362505 , 63323849672846 , 1842319481513 , 11931471166161 , 926221118 , 124571 , 55434 , 9297877807)order by field(id,179906362505 , 63323849672846 , 1842319481513 , 11931471166161 , 926221118 , 124571 , 55434 , 9297877807)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
贾老师IT培训
2017-04-25 · TA获得超过352个赞
知道小有建树答主
回答量:460
采纳率:0%
帮助的人:143万
展开全部
应该没有这个功能
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式