SQL - Limitar los registros que devuelve un Order By

 
Vista:
sin imagen de perfil

Limitar los registros que devuelve un Order By

Publicado por karrax (4 intervenciones) el 13/12/2014 14:21:14
Hola:

Me gustaria conseguir una seccion de un OrderBy, esto es: pensar que quiero coger una lista de ranking, de esa lista, pensemos que son 100 elementos, quiero los que estan desde la posicion 21 asta la 40.

¿Que tipo de sentencia se deberia de crear para eso?

Muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 135
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Limitar los registros que devuelve un Order By

Publicado por xve (284 intervenciones) el 14/12/2014 08:58:29
Hola Karrax, eso dependera del motor de base de datos que estes utilizando...

Por ejemplo, si utilizas MySQL, es con limit
1
SELECT * FROM tabla ORDER BY campo LIMIT 21,40

Para SQL Server se utiliza top
1
SELECT TOP 21 * FROM (SELECT TOP 40 * FROM tabla ORDER BY campo) t ORDER BY campo

Espero que te sirva... coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Limitar los registros que devuelve un Order By

Publicado por Ramiro (7 intervenciones) el 15/12/2014 13:27:09
En Oracle la cosa no es tan sencilla pero se puede, el ORDER BY lo puse DESC por eso de que dices que es un ranking pero ponlo como te sea mas util.

SELECT * FROM
(SELECT CAMPO1, CAMPO2, ROW_NUMBER() OVER (ORDER BY CAMPO2 DESC) ROW_NUM FROM TABLA)
WHERE ROW_NUM BETWEEN 21 AND 40;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar