Bonjour,
Je cherche à savoir quelle est la meilleur requête sql (pour sql server) pour effectuer un select avec limit et offset (on trouve assez bien d'exemples sur le web).
En voici un
10 = offset
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 SELECT [ID_Donnee] ,[Valeur] FROM (SELECT TOP 20 row_number() OVER (ORDER BY [ID_Donnee]) AS rownum, [ID_Donnee] ,[Valeur] FROM [Donnee] ) AS A WHERE A.rownum > 10
20 = limit + offset
J'aimerai également obtenir à chacune de ces requêtes le nombre total de résultats mais je ne sais pas comment le faire dans la même requête.
comme ceci
Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 SELECT TotalRows, [ID_Donnee] ,[Valeur] FROM (SELECT COUNT(*) OVER () AS TotalRows, row_number() OVER (ORDER BY [ID_Donnee]) AS rownum, [ID_Donnee] ,[Valeur] FROM [Donnee] ) AS A WHERE A.rownum BETWEEN 10 AND 20;
Partager