Select retornar penultimo registo

Gostaria que o select retornasse o penúltimo registo, a segunda maior idade, estou usando o plsql. Trazendo as colunas nome e idade. Peguei um exemplo na internet porém da erro de sintaxe. Alguém poderia me ajudar?

Segue o exemplo:

SELECT MAX(IDADE) AS ultimo, MIN(IDADE) AS penultimo FROM (SELECT TOP 2 IDADE FROM TB_PESSOA GROUP BY data ORDER BY data DESC) AS temp;

Cara, se não me engano TOP é comando de SQL server, você precisa ver o que o oracle suporta…

SELECT MAX(IDADE) AS ultimo, MIN(IDADE) AS penultimo FROM (
    SELECT IDADE FROM TB_PESSOA GROUP BY data 
    ORDER BY data DESC FETCH FIRST 2 ROWS ONLY
) AS temp;
1 curtida