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

时间:2018-02-03 02:38:14

标签: mysql sql

我有一个表格,我想在列sub_category_id的基础上从每个组中获取前N个项目。 如果我将N=10设置为从每个组中选择第一个10行,或者如果我设置N=5,则会从每个组中选择前5行。请帮帮我。

enter image description here

1 个答案:

答案 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;
相关问题