Nous pouvons sélectionner mais y a-t-il un moyen de sauter la première rangée à partir du résultat de haut ?? p>
Je veux dire que je reçois le résultat de top 10 code> ou Sélectionnez le haut 'n' n ' code> à partir de SQL Server. P>
Sélectionnez le top 5 code>, puis je saute la première rangée et obtenez seulement les 4 lignes suivantes? P>
4 Réponses :
Ce que vous recherchez est le terme paging. Comme ceci: http://www.15seconds.com/issue/070628.htm < / p>
Vous pouvez faire quelque chose comme ceci: update: strong> p> mise à jour pour avoir vos valeurs. P> Mise à jour 2: FORT> P> Erreur corrigée avec une sous-requête manquante. Merci à Chris Diver pointant cette sortie. P> p>
ya. J'ai corrigé tout en exécutant dans mon SQL mais j'ai oublié de le mentionner ici. :-)
J'ai utilisé cela dans une autre sous-requête et cela a fonctionné super! L'autre ; avec code> ... solution ne fonctionne pas dans ce cas.
quelque chose comme ceci:
-- Test table
declare @T table(ID int);
-- Add test data
insert into @T
select 1 union all
select 2 union all
select 3 union all
select 4 union all
select 5 union all
select 6;
-- Query using row_number() over(...)
-- to get rows 2 - 5
select T.ID
from (
select *,
row_number() over(order by ID) as rn
from @T
) as T
where T.rn between 2 and 5;
Vous pouvez utiliser la clause Il y aura un meilleur support pour la pagination dans le prochain Version de SQL Server (Codename Denali) avec le sur code> et une fonction de classement. Vous ne pouvez pas filtrer sur ce directement afin de nous avoir besoin d'une sous-requête ou d'une expression de table commune, l'exemple ci-dessous utilise ce dernier. Décalse code> et Fetch code> Mots-clés. P> P>
Génial ... je n'ai pas pensé dans cette direction. J'essayais de choisir avec le top 5 d'ici que j'essayais de sauter le premier avec le mot "sauter" ... merci beaucoup ... :-)
+1 Pour mentionner, c'est une fonction de classement - qui rend cette réponse encore plus utile