sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo agregar desplazamiento en una consulta de selección en Oracle 11g?

Puedes hacerlo fácilmente en 12c especificando OFFSET .

En 12c ,

SELECT val
FROM   table
ORDER BY val
OFFSET 4 ROWS FETCH NEXT 4 ROWS ONLY;

Para hacer lo mismo en 11g y antes, debe usar ROWNUM dos veces, inner query y outer query respectivamente.

La misma consulta en 11g ,

SELECT val
FROM   (SELECT val, rownum AS rnum
        FROM   (SELECT val
                FROM   table
                ORDER BY val)
        WHERE rownum <= 8)
WHERE  rnum > 4;

Aquí OFFSET es 4.