Oracle
 sql >> Database >  >> RDS >> Oracle

Come aggiungere offset in una query selezionata in Oracle 11g?

Puoi farlo facilmente su 12c specificando OFFSET .

In 12c ,

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

Per fare lo stesso su 11g e prima, devi usare ROWNUM due volte, inner query e outer query rispettivamente.

La stessa query in 11g ,

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

Qui OFFSET è 4.