Retorno do banco!

Saudações,

Estou fazendo uma consulta onde preciso retornar somente os ultimos 10 registros. Porém, os registros podem ter um cpf e até 3 cartões de credito. Assim quando listo e peço para pegar os ultimos registros ele esta pegando as 10 ultimas linhas fazendo com que o numero de registros seja consumido pelo numero de cartões.
Ex.
Exibir 5 ultimos registros:

Nome Cartao
Mario 0001
0002
0003
Maria 0004
Pedro 0005
obs. sendo que aí já foram mostrados as ultimas 5 linhas e não os ultimos 5 registros utilizando o nome como referencia.
Estou usando o rownum.
Alguem pode me ajudar me passando algum comando do sql que possa estar pegando os 5 registros sendo o nome como base e não o numero de linhas!
grato

Coloca ai a estrutura do teu banco… para podermos analisar…

pode passar o sql para ajudar melhor…

Bom, pelo meu pouco conhecimento, eu faria da seguinte maneira:

"select * from tabela where nome = ‘mario’ "

int i = 1; while (rs.next() && i <= 5) { rs.get's("...."); i++; }