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

SQL (ORACLE):ORDER BY og LIMIT

Før 12.1 understøtter Oracle ikke LIMIT eller OFFSET søgeord. Hvis du vil hente rækkerne N til M i et resultatsæt, har du brug for noget som:

VÆLG a.* FRA (VÆLG b.*, rækkenummer b_rækkenummer FRA (VÆLG c.* FRA en_tabel c BESTIL EFTER some_column) b HVOR rækkenummer <=<<øvre grænse>>) a HVOR b_rækkenummer>=<>

eller ved at bruge analytiske funktioner:

SELECT a.* FROM (SELECT b.*, rank() over (rækkefølge efter some_column) rnk FROM some_table) HVOR rnk MELLEM <> OG <<øvre grænse>> ORDER BY some_column

Hver af disse tilgange vil sortere give dig rækkerne N til M af det sorterede resultat.

I 12.1 og nyere kan du bruge OFFSET og/eller FETCH [FØRST | NÆSTE] operatører:

VÆLG * FRA some_table BESTIL EFTER some_column OFFSET <> RÆKKER HENT NÆSTE <> KUN RÆKKER 



  1. Få den første dag i måneden i PostgreSQL

  2. Hvordan CONCAT() virker i MariaDB

  3. SQLite installation

  4. Sådan fungerer TIME_FORMAT() i MariaDB