28 mars 2023

SQL : Pagination

 Ca arrive, on a besoin de paginer le résultat d'une requête.

Je viens d'apprendre en relisant la documentation de l'instruction ORDER BY, qu'on pouvait faire cela tout simplement grâce à cette instruction ! (SQL Server 2012 et plus uniquement).

SELECT *
FROM dbo.demo
ORDER BY dem_date OFFSET 3 ROWS FETCH NEXT 3 ROWS ONLY

Bon c'est verbeux !

OFFSET x ROWS : saute les x premières lignes 

FETCH NEXT y ROWS ONLY : renvoie uniquement que y lignes


Ca a du bon de lire la doc parfois.

Enjoy !


https://learn.microsoft.com/en-us/sql/t-sql/queries/select-order-by-clause-transact-sql?view=sql-server-ver16