Selecionando os últimos registros de uma tabela Oracle

Em: 23/07/2008 Tags: Referencie do seu blog (Trackback)

Como recuperar os N últimos registros de uma tabela Oracle? A consulta abaixo dá conta do recado.

select
    *
from
    (select
        rownum a,
        coluna1,coluna2,...,columnn
    from
        minha_tabela)
where
    a > (select
            (max(rownum) - N)
         from
             minha_tabela);

Você deve trocar:

  • “coluna1,coluna2,…,colunan” pelas colunas que deseja visualizar.
  • “N” pela quantidade de registros que deseja visualizar.
  • “minha_tabela” pela tabela que deseja visualizar.

Peguei a dica aqui.

Por último, nesse caso, quero dizer os últimos registros por ordem de inserção. Deve haver outras formas estranhas de fazer a mesma coisa, mas não parece existir nenhuma forma simples.

Se você quisesse os N primeiros então a coisa seria bem mais prática:

select * from minha_table where rownum <= N;

Artigos relacionados:

Escreva um comentário (utilize o formato Markdown)