Maison > base de données > tutoriel mysql > Comment puis-je paginer efficacement les résultats de SQL Server et obtenir le nombre total ?

Comment puis-je paginer efficacement les résultats de SQL Server et obtenir le nombre total ?

Mary-Kate Olsen
Libérer: 2025-01-22 00:47:41
original
409 Les gens l'ont consulté

How Can I Efficiently Paginate SQL Server Results and Get the Total Count?

Pagination efficace SQL Server et acquisition totale

Dans SQL Server, la récupération paginée vous permet de récupérer des données par lots au lieu de récupérer toutes les données en même temps. Cela peut améliorer considérablement les performances, en particulier lorsque vous travaillez avec de grands ensembles de données.

Bonnes pratiques pour SQL Server 2012 et versions ultérieures

La version SQL Server 2012 introduit une méthode de pagination plus simple. Les clauses OFFSET et FETCH fournissent un moyen simple de récupérer le nombre requis de résultats tout en obtenant le nombre total.

Par exemple, pour obtenir les 10 lignes de données suivantes et obtenir le total en même temps :

<code class="language-sql">-- 获取带有行号的接下来的10行
SELECT *, ROW_NUMBER() OVER (ORDER BY id) AS RowNum
FROM TableName;

-- 统计总行数
SELECT COUNT(*) AS TotalCount FROM TableName;</code>
Copier après la connexion

Pagination utilisant OFFSET et FETCH

À partir de SQL Server 2012, vous pouvez spécifier explicitement les lignes à récupérer à l'aide des clauses OFFSET et FETCH :

<code class="language-sql">SELECT *
FROM TableName
ORDER BY id
OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;</code>
Copier après la connexion

Notes clés sur OFFSET et FETCH

  • Lors de l'utilisation de OFFSET et FETCH, la clause ORDER BY est requise.
  • OFFSET et FETCH doivent être utilisés ensemble ; OFFSET ne peut pas être utilisé seul.
  • OFFSET et FETCH ne peuvent pas être combinés avec TOP dans la même requête.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal