标签: mysql sql
我有一个表格,我想在列sub_category_id的基础上从每个组中获取前N个项目。 如果我将N=10设置为从每个组中选择第一个10行,或者如果我设置N=5,则会从每个组中选择前5行。请帮帮我。
sub_category_id
N=10
10
N=5
答案 0 :(得分: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;