Você precisa de uma função agregada chamado
max :select name, max(rank)
from names
group by name;
Dessa forma, você recuperará todos os nomes distintos, cada um associado à sua classificação máxima.
max :select name, max(rank)
from names
group by name;