Oracle
 sql >> Database >  >> RDS >> Oracle

Come ottenere l'ultima riga di una tabella Oracle

Non esiste l'"ultima" riga in una tabella, poiché una tabella Oracle non ha il concetto di ordine.

Tuttavia, supponendo che tu voglia trovare l'ultima chiave primaria inserita e che questa chiave primaria è un numero incrementale, potresti fare qualcosa del genere:

select *
  from ( select a.*, max(pk) over () as max_pk
           from my_table a
                )
 where pk = max_pk

Se hai la data di creazione di ogni riga, questa diventerebbe, se la colonna è denominata created :

select *
  from ( select a.*, max(created) over () as max_created
           from my_table a
                )
 where created = max_created

In alternativa, puoi utilizzare una query aggregata, ad esempio:

select *
  from my_table
 where pk = ( select max(pk) from my_table )

Ecco un piccolo SQL Fiddle da dimostrare.