Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So erhalten Sie die letzte Zeile einer Oracle-Tabelle

Es gibt keine "letzte" Zeile in einer Tabelle, da eine Oracle-Tabelle kein Ordnungskonzept hat.

Angenommen, Sie wollten den zuletzt eingefügten Primärschlüssel und finden dass dieser Primärschlüssel eine aufsteigende Zahl ist, könnten Sie etwa so vorgehen:

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

Wenn Sie das Datum haben, an dem jede Zeile erstellt wurde, würde dies werden, wenn die Spalte created heißt :

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

Alternativ können Sie eine aggregierte Abfrage verwenden, zum Beispiel:

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

Hier ist eine kleine SQL-Fiddle zur Demonstration.