Použijte ROW_NUMBER() funkce pro toto:
SELECT *
FROM (select *,ROW_NUMBER() OVER (PARTITION BY group_id ORDER BY item_id) as RowRank
from items_in_groups
)sub
WHERE RowRank <=2
Ukázka:SQL Fiddle
ROW_NUMBER() funkce přiřadí každému řádku číslo. PARTITION BY je nepovinné, ale používá se k zahájení číslování pro každou hodnotu v této skupině, tj.:pokud PARTITION BY group_id pak pro každý jedinečný group_id číslování by začínalo od 1. ORDER BY samozřejmě se používá k definování toho, jak by mělo počítání probíhat, a je vyžadováno v ROW_NUMBER() funkce.