I got a result very similar to yours:
select count(*) as rank, max(s1.number) as number
from(
select number from NMaxMin group by number
) as s1
inner join
(
select number from NMaxMin group by number
) as s2 on s1.number <= s2.number
group by s1.number
having count(*) = 5
(Just change the join condition to seach for top or bottom values.)
Edited by - pegasus on 11/20/2003 9:07:45 PM