开发者社区> 问答> 正文

如何按照Mysql select in list中的顺序返回?

比如查询订单表得出近一个月已购买的商品,并按购买数排序,得到商品ID列表为:9,8,7,6,1,2,3,4

再查询商品表得到商品

elect * from goods where id in (9,8,7,6,1,2,3,4)

我想按照严格的in中的商品ID返回结果, 但是实际会按id排序。可有什么办法能满足这个要求吗?

假如同时还要排除id列表中已下架的商品以及仍按购买数由多到少分页呢?

select * from goods where id in (9,8,7,6,1,2,3,4) and status = 1 limit 0,10

展开
收起
小旋风柴进 2016-03-11 15:58:16 3199 0
1 条回答
写回答
取消 提交回答
  • 增加ORDER BY FIND_IN_SET(id, '9,8,7,6,1,2,3,4')

    2019-07-17 18:59:28
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像