ROW_NUMBER() を使用します このための関数:
SELECT *
FROM (select *,ROW_NUMBER() OVER (PARTITION BY group_id ORDER BY item_id) as RowRank
from items_in_groups
)sub
WHERE RowRank <=2
デモ:SQL フィドル
ROW_NUMBER() 関数は各行に番号を割り当てます。 PARTITION BY オプションですが、そのグループの各値の番号付けをやり直すために使用されます。つまり、 PARTITION BY group_id の場合 次に、一意の group_id ごとに 値を指定すると、番号付けは 1 から始まります。 ORDER BY もちろん、カウント方法を定義するために使用され、 ROW_NUMBER() で必要です 関数。