Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment sélectionner les 5 dernières lignes d'un tableau sans trier ?

C'est à peu près la requête la plus bizarre que j'aie jamais écrite, mais je suis presque sûr qu'elle récupère les "5 dernières" lignes d'une table sans les ordonner :

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

Notez que cela utilise la capacité de SQL Server 2005 à transmettre une valeur dans la clause "top" - cela ne fonctionne pas sur SQL Server 2000.