Mysql在in查询时,使查询结果按in里的集合排序显示
17-07-31 20:53
字数 532
阅读 3661
已编辑
在mysql in 查询时,如果你没加order by
排序时,结果可能是按照mysql自认为舒服的排序显示。
在一般的业务下这样没毛病,但是有时候我们想让结果按照我们in()
里的数据排序显示。
比如在使用coreseek
搜索时,搜索引擎给我们返回了一组id,这组id是按权重排序的,不能再动他们的排序。
但是我们可能要拿着这组id,再查询一次mysql数据库,拼装成适合我们业务的数据集合,但是却发现在in查询之后排序被打乱了,这时候怎么办呢?
废话那么多,可能你也理解我的意思了,直接上代码。
SELECT * FROM `post` WHERE id IN (27,31,29,35,36,37,38,39,40,43,44,45,46,47,50,53,54,55,56,58,59,60,61,63,73,78,79,81,84,85) ORDER BY FIND_IN_SET(id,'27,31,29,35,36,37,38,39,40,43,44,45,46,47,50,53,54,55,56,58,59,60,61,63,73,78,79,81,84,85') LIMIT 0,30
使用FIND_IN_SET
可以解决我们的问题
第一个参数是字段名(不加引号) 第二个参数是id集合(加引号)
0人点赞>
0 条评论
排序方式
时间
投票
快来抢占一楼吧
请登录后发表评论
相关推荐
文章归档
2024-11
1 篇
2024-06
1 篇
2024-05
2 篇
2024-04
2 篇
2024-03
2 篇
展开剩余 68 条
2024-01
1 篇
2023-10
1 篇
2023-09
1 篇
2023-08
1 篇
2023-06
1 篇
2023-04
1 篇
2022-12
2 篇
2022-06
1 篇
2022-04
4 篇
2022-03
3 篇
2022-01
6 篇
2021-12
2 篇
2021-11
2 篇
2021-10
2 篇
2021-09
1 篇
2021-08
2 篇
2021-07
4 篇
2021-06
1 篇
2021-05
3 篇
2021-04
3 篇
2021-01
2 篇
2020-11
1 篇
2020-10
3 篇
2020-09
2 篇
2020-08
1 篇
2020-07
5 篇
2020-06
5 篇
2020-05
1 篇
2020-04
1 篇
2020-03
2 篇
2020-02
3 篇
2020-01
1 篇
2019-11
5 篇
2019-10
10 篇
2019-09
12 篇
2019-08
17 篇
2019-07
8 篇
2019-05
3 篇
2019-04
8 篇
2019-03
7 篇
2019-02
8 篇
2019-01
5 篇
2018-12
7 篇
2018-11
8 篇
2018-10
4 篇
2018-09
7 篇
2018-08
12 篇
2018-07
9 篇
2018-06
6 篇
2018-05
11 篇
2018-04
18 篇
2018-03
1 篇
2018-02
2 篇
2018-01
10 篇
2017-12
14 篇
2017-11
44 篇
2017-10
13 篇
2017-09
4 篇
2017-08
12 篇
2017-07
5 篇
2017-06
4 篇
2017-05
2 篇
2017-04
3 篇
2017-03
9 篇
2017-02
3 篇
2017-01
2 篇
2016-12
10 篇
2016-11
4 篇
最新文章
最受欢迎
11-07 19:00
06-26 11:51
05-17 17:08
05-17 10:59
04-11 17:05
13 评论
11 评论
10 评论