Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment ajouter un décalage dans une requête select dans Oracle 11g ?

Vous pouvez le faire facilement sur 12c en spécifiant OFFSET .

En 12c ,

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

Faire de même sur 11g et avant, vous devez utiliser ROWNUM deux fois, inner query et outer query respectivement.

La même requête en 11g ,

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

Ici OFFSET est 4.