sql >> Databáze >  >> RDS >> Oracle

Jak získat poslední řádek tabulky Oracle

V tabulce neexistuje nic takového jako „poslední“ řádek, protože tabulka Oracle nemá žádný koncept pořadí.

Za předpokladu, že jste chtěli najít poslední vložený primární klíč a že tento primární klíč je rostoucí číslo, můžete udělat něco takového:

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

Pokud máte datum, kdy byl každý řádek vytvořen, toto by bylo, pokud by se sloupec jmenoval created :

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

Případně můžete použít souhrnný dotaz, například:

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

Zde je malá ukázka SQL Fiddle.



  1. Snižování parametru postgresql.conf, najednou

  2. MySQL získá chybějící ID z tabulky

  3. Opakující se řádky na základě hodnoty sloupce v každém řádku

  4. Jak vytvořit sestavu PDF pomocí PL/SQL