Benutzer-Werkzeuge

Webseiten-Werkzeuge


dba:oracle12c_top_n_native_query

Oracle 12c Datenbank - native Top-N Abfragen

Eine native Top-N Abfrage ist nun auch in 12c Oracle möglich!

Zuvor mit 11g und Analytic Function ⇒ Oracle Analytic Function - Beispiel 2 - Top N Query

Selektiere die Top 5:

FETCH FIRST 5 ROWS ONLY

SELECT object_id 
     , object_name
  FROM dba_objects 
 ORDER BY object_id DESC
 FETCH NEXT 5 ROWS ONLY
/
 
 OBJECT_ID OBJECT_NAME
------------ ------------------------------
      129319 WRP$_REPORTS_DETAILS_IDX02
      129318 WRP$_REPORTS_DETAILS_IDX01
      129317 SYS_IL0000006450C00009$$
      129316 SYS_LOB0000006450C00009$$
      129315 WRP$_REPORTS_DETAILS

Hole nach einem Offset von 5 die Top 5 (Blättern):

OFFSET 5 ROWS FETCH NEXT 5 ROWS ONLY

SELECT object_id 
     , object_name
  FROM dba_objects 
 ORDER BY object_id DESC
 OFFSET 5 ROWS FETCH NEXT 5 ROWS ONLY
/
 
  OBJECT_ID OBJECT_NAME
------------ ------------------------------
      129314 WRP$_REPORTS_IDX02
      129313 WRP$_REPORTS_IDX01
      129312 WRP$_REPORTS
      129271 MGMT_AUDIT_LOGS_IDX05
      129270 MGMT_AUDIT_LOGS_IDX04

Selektiere die Top 5 + alle mit gleichen Werten:

FETCH FIRST 5 ROWS WITH TIES

 

Selektiere die Top 5 Prozent aus der Tabelle:

FETCH FIRST 5 PERCENT ROWS ONLY

  SELECT OWNER
        ,SEGMENT_NAME
        ,BYTES 
    FROM dba_segments
  FETCH FIRST 1 PERCENT ROWS ONLY
  /

Intern sehen die Ausführungspläne nach eine Umsetzung über Analytical Funktionen aus.

Quellen

  • DOAG 2014 - Konfernzvortrag
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
dba/oracle12c_top_n_native_query.txt · Zuletzt geändert: 2014/11/22 18:34 von gpipperr