Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie wähle ich die letzten 5 Zeilen in einer Tabelle ohne Sortierung aus?

Dies ist so ziemlich die bizarrste Abfrage, die ich je geschrieben habe, aber ich bin mir ziemlich sicher, dass sie die "letzten 5" Zeilen aus einer Tabelle ohne Reihenfolge erhält:

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

Beachten Sie, dass dies die Fähigkeit von SQL Server 2005 nutzt, einen Wert in die „top“-Klausel zu übergeben – es funktioniert nicht auf SQL Server 2000.