Asier Marqués

Hablando sobre tecnologías web y otras cosas que me interesan
Archivado como Bases de Datos, Desarrollo, Desarrollo Web, Sistemas

En mysql para devolver un rango de resultados en una consulta podemos hacerlo usando el comando Limit de la siguiente forma:

Select * from tabla Limit 4,8

Esto nos devuelve un rango de 8 resultados desde el 4º encontrado

Apunté como hacerlo en Oracle, también como hacerlo en Microsoft SQL Server 2005/2008, y ahora lo apunto para SQL Server 2000.

SELECT TOP 10 t.* FROM tabla as t where t.id = not in
( SELECT TOP 0 id from tabla order by id desc )
order by t.id desc


El primer TOP, el principal, indica el número de tuplas a devolver.

El segundo TOP, en la subconsulta, debe ser multiplicar 10 por el número de página de resultados a mostrar menos 1, es decir: (número de página-1) x número de filas a devolver.

En ese ejemplo, el top para la subconsulta sería 0 para la primera página, 10 para la segunda, 20 para la tercera y así sucesivamente.

Comentarios (4) Publicado por Asier Marqués el Martes, 27 de Enero del 2009


Puedes seguir los comentarios de ésta entrada via "RSS 2.0" y dejar un trackback desde tu sitio.

4 Respuestas to “Paginar resultados en SQL Server 2000, al estilo Limit de mySQL”

Añade un comentario