Gunakan ROW_NUMBER() fungsi untuk ini:
SELECT *
FROM (select *,ROW_NUMBER() OVER (PARTITION BY group_id ORDER BY item_id) as RowRank
from items_in_groups
)sub
WHERE RowRank <=2
Demo:SQL Fiddle
ROW_NUMBER() fungsi memberikan nomor untuk setiap baris. PARTITION BY adalah opsional, tetapi digunakan untuk memulai penomoran ulang untuk setiap nilai dalam grup itu, yaitu:jika Anda PARTITION BY group_id kemudian untuk setiap group_id yang unik nilai penomoran akan dimulai dari 1. ORDER BY tentu saja digunakan untuk menentukan bagaimana penghitungan harus berjalan, dan diperlukan dalam ROW_NUMBER() fungsi.