Heim >Datenbank >MySQL-Tutorial >Wie funktioniert ROWNUM in Oracle-Paginierungsabfragen?

Wie funktioniert ROWNUM in Oracle-Paginierungsabfragen?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-19 06:47:09344Durchsuche

How Does ROWNUM Work in Oracle Pagination Queries?

ROWNUM in der Oracle-Paginierung verstehen

Frage 1: Warum leere Ergebnisse mit ROWNUM-Bereich?

Die Abfrage Select * From Person Where rownum > 100 and rownum < 200 gibt einen leeren Ergebnissatz zurück, da ROWNUM den Zeilen Nummern zuweist, beim Abruf. Die WHERE-Klausel filtert nach ROWNUM Nummern zugewiesen wurden. Zeilen mit ROWNUM größer als 100 werden erst berücksichtigt, nachdem die ersten 100 Zeilen bereits verarbeitet und ihnen ROWNUM-Werte zugewiesen wurden.

Frage 2: Vereinfachte ROWNUM-Abfragen in Oracle 12c

Die Top-n-Zeilenbegrenzungsfunktion von Oracle 12c bietet einen einfacheren Ansatz für die Paginierung. Die Syntax Select ... FROM ... WHERE rownum BETWEEN lowerBound AND upperBound wählt Zeilen innerhalb des angegebenen Bereichs direkt aus, sodass keine Unterabfragen erforderlich sind.

Frage 3: Weglassen der ROWNUM-Spalte

Um die Anzeige der ROWNUM-Spalte zu vermeiden, listen Sie die gewünschten Spalten explizit in der SELECT-Liste der äußeren Abfrage auf. Alternativ können Sie eine Ansicht erstellen, um die Abfrage zu kapseln, oder den NOPRINT-Befehl von SQL*Plus verwenden, um unerwünschte Ausgaben zu unterdrücken.

Frage 4: Erzielen einer genauen Paginierung mit ROWNUM

Eine genaue Paginierung mit ROWNUM hängt von der korrekten Abfragekonstruktion ab. Ordnen Sie die Ergebnisse unbedingt anhand einer eindeutigen Kennung (Primärschlüssel), um eine konsistente Zeilenauswahl auf allen Seiten sicherzustellen. Während die Sortierung nach ROWNUM selbst FIRST_ROWS(N) nicht negiert, garantiert die Verwendung einer eindeutigen Kennung den Abruf der beabsichtigten Zeilen.

Das obige ist der detaillierte Inhalt vonWie funktioniert ROWNUM in Oracle-Paginierungsabfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn