Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come faccio a selezionare le ultime 5 righe in una tabella senza ordinare?

Questa è quasi la query più bizzarra che abbia mai scritto, ma sono abbastanza sicuro che ottenga le "ultime 5" righe da una tabella senza ordinare:

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

Si noti che questo utilizza la capacità di SQL Server 2005 di passare un valore nella clausola "top" - non funziona su SQL Server 2000.