select
p1.name
, ( select count ( * )
from (
select *
from persons p2
where p2.age > p1.age
) as foo
) + 1 as rank
from persons p1
order by rank asc ;
, ( select count ( * )
from (
select *
from persons p2
where p2.age > p1.age
) as foo
) + 1 as rank
from persons p1
order by rank asc ;