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

Comment inclure le nombre total de lignes renvoyées dans le jeu de résultats de la commande SELECT T-SQL ?

Dans SQL Server 2008 et versions ultérieures, ajoutez COUNT(*) OVER () comme l'un des noms de colonne dans votre requête et qui sera rempli avec le nombre total de lignes renvoyées.

Il est répété dans chaque ligne mais au moins la valeur est disponible.

La raison pour laquelle de nombreuses autres solutions ne fonctionnent pas est que, pour les ensembles de résultats très volumineux, vous ne connaîtrez le total qu'après avoir itéré toutes les lignes, ce qui n'est pas pratique dans de nombreux cas (en particulier les solutions de traitement séquentiel). Cette technique vous donne le nombre total après avoir appelé le premier IDataReader.Read() , par exemple.

select COUNT(*) OVER () as Total_Rows, ... from ...