topもlimitもrownumも無くても上位○件を出さなきゃいけない時

SQLきめぇ。
行数制限はtopとかlimittとかrownumとか使ってました。ええ。未熟者ですから
でも

name,volume,class
a01,10,aaa
a02,5,aaa
a03,7,bbb
a04,3,aaa

というtableAがあって

select
     *
from 
     tableA as A
where
     A.class = 'aaa'
 and (select
           count(*)
     from
           tableA as B
     where
           A.class = B.class
       and A.volume > B.volume) < 3

で「aaa classのvolumeベスト3」ができるとか何とか。すごいねぇ。order句もいらないっぽい。
何でこうなるのかいまいち。ちょっちキモい。