sql >> Databasteknik >  >> RDS >> Oracle

Hur man får den sista raden i ett Oracle en tabell

Det finns inget som heter den "sista" raden i en tabell, eftersom en Oracle-tabell inte har något begrepp om ordning.

Men förutsatt att du ville hitta den senast infogade primärnyckeln och att den här primärnyckeln är ett ökande tal, kan du göra något så här:

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

Om du har datumet då varje rad skapades skulle detta bli, om kolumnen heter created :

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

Alternativt kan du använda en samlad fråga, till exempel:

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

Här är en liten SQL-fiol att demonstrera.



  1. Vad gör Statement.setFetchSize(nSize)-metoden egentligen i SQL Server JDBC-drivrutinen?

  2. mysql_fetch_array, mysql_fetch_assoc, mysql_fetch_object

  3. Hur man benchmarkar PostgreSQL-prestanda

  4. Migrera MySQL-databas från Amazon RDS till DigitalOcean