Paginación en SQL Server

By edgarinvillegas

La paginación en SQL Server puede ser una pesadilla para muchos, ya que este DBMS no posee una cláusula LIMIT como la de MySQL.

Aqui propongo una equivalencia de la cláusula LIMIT de Mysql en SQL Server 2005.
En Mysql (con LIMIT):

SELECT EST_NOMBRE, EST_NUMEROSERIE
FROM ESTACION
WHERE EST_DESC LIKE ‘%W%’
ORDER BY est_id
LIMIT 2, 6

En SQL Server 2005 (sin LIMIT):

SELECT EST_NOMBRE, EST_NUMEROSERIE
FROM (
SELECT *, ROW_NUMBER() OVER (ORDER BY est_id) AS nfila FROM ESTACION
WHERE EST_DESC LIKE ‘%W%’
) AS ESTACION_NUMERADA
WHERE nfila BETWEEN 2 AND 8

Espero que les sirva

Escribe un comentario