J'ai essayé de comprendre un peu comment implémenter la pagination personnalisée dans SQL, par exemple en lisant des articles comme celui-ci .
J'ai la requête suivante, qui fonctionne parfaitement. Mais je voudrais implémenter la pagination avec celui-ci.
SELECT TOP x PostId FROM ( SELECT PostId, MAX (Datemade) as LastDate
from dbForumEntry
group by PostId ) SubQueryAlias
order by LastDate desc
Qu'est-ce que je veux
J'ai des messages sur le forum, avec des entrées connexes. Je veux obtenir les messages avec les dernières entrées ajoutées, afin de pouvoir sélectionner les messages récemment débattus.
Maintenant, je veux pouvoir obtenir le "top 10 à 20 articles récemment actifs", au lieu du "top 10".
Qu'ai-je essayé
J'ai essayé d'implémenter les fonctions ROW comme celle de l'article, mais vraiment sans succès.
Des idées comment le mettre en œuvre?
la source
WHERE RowNumber >= @Start AND RowNumber < @End
pour obtenir les 1000 premières lignes si@Start
est 0 et@End
1000?Pour ce faire dans SQL Server, vous devez classer la requête par colonne afin de pouvoir spécifier les lignes souhaitées.
Exemple:
Et vous ne pouvez pas utiliser le mot-clé "TOP" lors de cette opération.
Vous pouvez en savoir plus ici: https://technet.microsoft.com/pt-br/library/gg699618%28v=sql.110%29.aspx
la source
utilisez ceci à la fin de votre syntaxe de sélection. =)
la source
SQL 2008
La réponse de Radim Köhler fonctionne, mais voici une version plus courte:
Source: https://forums.asp.net/post/4033909.aspx
la source
Vous pouvez utiliser une requête imbriquée pour la pagination comme suit:
Pagination de 4 lignes à 8 lignes où CustomerId est la clé primaire .
la source