sql >> Databasteknik >  >> RDS >> Sqlserver

Hur väljer jag de sista 5 raderna i en tabell utan att sortera?

Det här är ungefär den mest bisarra fråga jag någonsin skrivit, men jag är ganska säker på att den får de "sista 5" raderna från en tabell utan att beställa:

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

Observera att detta utnyttjar SQL Server 2005:s förmåga att skicka ett värde till "top"-satsen - det fungerar inte på SQL Server 2000.



  1. Hur man konverterar ett heltal till en decimal i SQL Server

  2. mysql lagrar automatiskt tidsstämpel för att skapa rekord

  3. MySQL, Få användarrankning

  4. Filtrera efter COUNT(*)?