Wypisanie 3 wyniów ze względu na maksimum

0

Cześć,
mam bazę danych zawiązaną z pudełkami czekoladek i takie oto zadanie:

Wyświetl nazwę pudełka oraz ilość czekoladek (bez użycia klauzuli LIMIT), dla trzech najliczniejszych pudełek pod względem ilości czekoladek (na 2 sposoby).

Potrafię wyświetlić pudełko które ma najwięcej czekoladek:
select p.nazwa, p.idpudelka, sum(z.sztuk) from pudelka p natural join zawartosc z group by p.idpudelka, p.nazwa having sum(z.sztuk) = (select max(sumowanie.sum) from (select sum(z.sztuk) from pudelka p natural join zawartosc z group by p.idpudelka) as "sumowanie");

ale nie wiem jak bez użycia limit w postgresql zwrócić 3 maksymalne wyniki. Proszę o wskazówki, czy da się to wykonać w czystym SQL bez pisania funkcji itp.

0

top 3 ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1