我有一张桌子,我想在该表格的基础上从每个组中获取前N个项目sub_category_id。如果我设置了N=10那10将从每个组中选择第一行,或者如果我设置了N=5那那将从每个组中选择前5行。请帮我。
sub_category_id
N=10
10
N=5
有多种方法可以做到这一点。这是一个使用相关子查询的查询:
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;