sql >> Databasteknik >  >> RDS >> Oracle

Hur lägger man till offset i en urvalsfråga i Oracle 11g?

Du kan göra det enkelt på 12c genom att ange OFFSET .

I 12c ,

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

För att göra samma sak på 11g och tidigare måste du använda ROWNUM två gånger, inner query och outer query respektive.

Samma fråga i 11g ,

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

Här OFFSET är 4.



  1. Att få resultatet av dynamisk SQL till en variabel för sql-server

  2. SQLite Group By

  3. Typcast-sträng till heltal

  4. finns det en group_concat-funktion i ms-access?