51 votes

Sélectionnez les premières et dernières lignes d'une table (serveur SQL)

J'utilise cette instruction dans SQLServer et cela fonctionne bien :

 SELECT TOP 1000 *      
FROM [SomeTable]

Cela me donne les enregistrements TOP 1000 SomeTable , maintenant quel mot-clé dois-je utiliser au lieu de Top si j'ai besoin des enregistrements Bottom 1000 table?

75voto

Khan Points 8610

Pour obtenir les 1000 derniers, vous voudrez les classer par colonne dans l'ordre décroissant, tout en prenant les 1000 premiers.

 SELECT TOP 1000 *
FROM [SomeTable]
ORDER BY MySortColumn DESC

Si vous tenez à ce qu'il soit dans le même ordre qu'avant, vous pouvez utiliser une expression de table commune pour cela :

 ;WITH CTE AS (
    SELECT TOP 1000 *
    FROM [SomeTable]
    ORDER BY MySortColumn DESC
)

SELECT * 
FROM CTE
ORDER BY MySortColumn

7voto

Luca Points 2222

Vous devez trier vos données en fonction de vos besoins (par exemple dans l'ordre inverse) et utiliser select top query

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X