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

Hvordan tilføjer man offset i en udvalgt forespørgsel i Oracle 11g?

Du kan nemt gøre det på 12c ved at angive OFFSET .

I 12c ,

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

For at gøre det samme på 11g og tidligere, skal du bruge ROWNUM to gange, inner query og outer query hhv.

Den samme forespørgsel i 11g ,

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

Her OFFSET er 4.



  1. Nulstil root-adgangskoden til MySQL Server

  2. SQL 'AND' eller 'OR' kommer først?

  3. Hvad er STATISTIK TID i SQL Server?

  4. Vælg forespørgsel med offset-grænse er for langsom