一尘不染

如何从每组MySql中选择前N条记录

sql

我有一张桌子,我想在该表格的基础上从每个组中获取前N个项目sub_category_id。如果我设置了N=1010将从每个组中选择第一行,或者如果我设置了N=5那那将从每个组中选择前5行。请帮我。


阅读 136

收藏
2021-05-16

共1个答案

一尘不染

有多种方法可以做到这一点。这是一个使用相关子查询的查询:

select t.*
from t
where (select count(*)
       from t t2
       where t2.sub_category_id = t.sub_category_id and t2.id <= t.id
      ) <= 10;
2021-05-16