传入主id集合,查询主id下关联的前几条数据,用MySQL怎么实现?

通过传入的id集合,查询每个id下面的指定数量的子内容,怎么用MySQL实现?

想过通过先用IN查出来,然后在进行分组限制,可操性不大

目前是业务上做的处理

最好是发一下表结构及说明一下表之间的关系,按照你的描述应该是使用in语句实现。

同意楼上,建议先把当前表结构和你最终想要的数据格式样例发出来,可能没你想得那么复杂

img

表结构如此,例如我想获取,brand_id 为200001,200002的前三个商品信息,brand_id为动态的

用个开窗函数进行分组排序就好了

select a.*
  from (select row_number() over(partition by brand_id order by product_id) rn,
               t *
          from 表 t
         where brand_id in ('200001', '200002')) a
 where rn <= 3