Problema con el rownum

Tengo un problema con una sentencia SQL de Oracle. El problema es el siguiente. Tengo este SELECT.
SELECT *
FROM (select * from noticias
order by fecha desc)
WHERE rownum BETWEEN 5 AND 10;
Lo que yo quiero hacer es que de la tabla noticias, la cual quiero ordenarla por fecha, me aparezca una vez ordenada las filas de la 5 a la 10.
Se que rownum devuelve el numero de filas antes de ser ordenada, por lo cual creía que esta es la forma de hacerlo, pero no me funciona.
¿Sabe a que es debido y como puedo hacerlo?
Muchas Gracias de antemano por la ayuda.

2 Respuestas

Respuesta
1
Oracle utiliza un campo llamado RowId, Averigua como se genera en la consulta de las fechas y podrás hacer el filtro que necesitas.
Respuesta
1
Lo debe hacer es:
SELECT *
FROM (select rownum id, campo1, campo2, campo3, etc from noticias
order by fecha desc)
WHERE id BETWEEN 5 AND 10;

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas