Oracle - Limitar filas en una consulta

 
Vista:

Limitar filas en una consulta

Publicado por juan (1 intervención) el 21/05/2007 18:27:48
Hola:
Estoy tratando de limitar el numero de filas de una consulta pero que a la vez queden ordenadas antes de limitarlas, lo he intentado con rROWNUM combinado con ORDER BY
pero no obtengo lo que deseo.
Alguien ha resuelto este problema?
saludos
Juan
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

RE:Limitar filas en una consulta

Publicado por mad (88 intervenciones) el 22/05/2007 08:20:07
Creo que lo que buscas es esto:

SELECT *
FROM MI_TABLA
WHERE ROWNUM <= 100
ORDER BY CAMPO_ORDEN;

Espero te sirva.
Salu2.
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

RE:Limitar filas en una consulta

Publicado por Rodolfo Reyes (445 intervenciones) el 22/05/2007 17:10:36
Tienes razon al indicar que al incluir un order by ya no funciona, la explicación es. Porque primero se hace el filtro del rownum y de ultimo se hace el order by. Entonces, primero selecciona N registros y luego los ordena.

Pero la solución es poner el query que necesitas en el FROM y ahi hacer el order by.

EJEMPLO:

select A.EMPLEADO, A.NOMBRE
from (select EMPLEADO, NOMBRE
from EMPLEADOS
order by EMPLEADO
) a
where rownum <= 10
order by EMPLEADO

Lo anterior te desplegaria el codigo de empleado y nombre. De los primeros 10 empleados de la tabla.
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