sql >> Database >  >> RDS >> Sqlserver

Hoe selecteer ik de laatste 5 rijen in een tabel zonder te sorteren?

Dit is zowat de meest bizarre vraag die ik ooit heb geschreven, maar ik ben er vrij zeker van dat het de "laatste 5" rijen uit een tabel haalt zonder te bestellen:

select * 
from issues
where issueid not in (
    select top (
        (select count(*) from issues) - 5
    ) issueid
    from issues
)

Merk op dat dit gebruik maakt van de mogelijkheid van SQL Server 2005 om een ​​waarde door te geven aan de "top"-clausule - het werkt niet op SQL Server 2000.



  1. MariaDB JSON_QUOTE() uitgelegd

  2. SQL Transponeer rijen als kolommen

  3. Hoe duur zijn impliciete conversies aan de kolomzijde?

  4. De landinstelling wijzigen bij het formatteren van getallen in PostgreSQL