Te traemos el hallazgo a esta obstáculo, o por lo menos eso deseamos. Si continuas con inquietudes dínoslo, que sin pensarlo
Solución:
Si usa MSSQL 2012, pruebe la cláusula OFFSET-FETCH. ¡Es la mejor solución!
Ejemplo: SELECT … ORDER BY orderid OFFSET 25 ROWS
obtiene solo las siguientes 25 filas.
Significa que esta consulta devolverá de 25 a 50 registros. El ORDER BY
La cláusula es obligatoria, por lo que si no desea utilizar orden, utilice ORDER BY (SELECT NULL)
Si no puedes usar OFFSET-FETCH
en SQL Server 2012 y suponiendo que la tabla tiene un principal key o columna(s) que le permiten identificar de forma única una fila, llamémosla UniqueKey
, entonces a partir de 2005 podrías usar ROW_NUMBER
como esto…
SELECT UniqueKey, col2, col3
FROM
(
SELECT UniqueKey, col2, col3, ROW_NUMBER() OVER (ORDER BY UniqueKey) AS RowNum
FROM YourTable
) sub
WHERE sub.RowNum BETWEEN @startRow AND @endRow
Comentarios y calificaciones de la guía
Recuerda que puedes dar visibilidad a esta reseña si te fue útil.