sql >> Database >  >> RDS >> Oracle

Hoe de laatste rij van een orakel een tabel te krijgen?

Er bestaat niet zoiets als de "laatste" rij in een tabel, aangezien een Oracle-tabel geen concept van volgorde heeft.

Echter, ervan uitgaande dat u de laatst ingevoegde primaire sleutel en . wilde vinden dat deze primaire sleutel een oplopend getal is, kunt u zoiets als dit doen:

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

Als je de datum hebt waarop elke rij is gemaakt, wordt dit als de kolom de naam created heeft :

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

U kunt ook een geaggregeerde zoekopdracht gebruiken, bijvoorbeeld:

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

Hier is een kleine SQL Fiddle om te demonstreren.



  1. Hoe Cotd() werkt in PostgreSQL

  2. Afsluiten van PostgreSQLs Command Line Utility (psql)

  3. SQL CASE-instructie:wat is het en wat zijn de beste manieren om het te gebruiken?

  4. Oracle SQL DATE-conversieprobleem met iBATIS via Java JDBC