Heim > Datenbank > MySQL-Tutorial > Wie rufe ich einen bestimmten Zeilenbereich mit SQLs ROWNUM ab?

Wie rufe ich einen bestimmten Zeilenbereich mit SQLs ROWNUM ab?

DDD
Freigeben: 2025-01-06 00:47:38
Original
432 Leute haben es durchsucht

How to Retrieve a Specific Range of Rows Using SQL's ROWNUM?

Abrufen eines bestimmten Bereichs von SQL-ROWNUM-Werten

In SQL kann die ROWNUM-Pseudospalte verwendet werden, um die Position der aktuellen Zeile im Ergebnis abzurufen Satz. Dies ist oft nützlich, wenn ein begrenzter Zeilenbereich zurückgegeben wird. Ihre aktuelle Abfrage scheint jedoch Probleme mit der Rückgabe von Zeilen innerhalb eines bestimmten Bereichs zu haben.

Um dies zu beheben, ist eine geringfügige Änderung erforderlich. Anstatt die Standard-Pseudospalte ROWNUM zu verwenden, sollten Sie eine Unterabfrage verwenden, um eine temporäre Tabelle oder einen CTE (Common Table Expression) zu erstellen, der sowohl die Originaldaten als auch die Zeilennummern enthält. Dieser Ansatz stellt sicher, dass die Zeilennummern ausgewertet werden, bevor die Filterbedingungen angewendet werden.

Die korrigierte Abfrage würde so aussehen:

SELECT *
FROM
(
  SELECT m.*, ROWNUM() OVER (ORDER BY m.id) AS r
  FROM maps006 m
)
WHERE r > 49 AND r < 101
Nach dem Login kopieren

In dieser Abfrage:

  • ROWNUM() OVER (ORDER BY m.id) erstellt eine neue Spalte mit dem Namen r, die die Zeilennummern für jede Zeile in der Tabelle „maps006“ enthält, sortiert nach der ID Spalte.
  • Die Unterabfrage erhält den Alias ​​m, um mit dem ursprünglichen Tabellennamen übereinzustimmen.
  • Die Hauptabfrage filtert dann das Ergebnis der Unterabfrage unter Verwendung des gewünschten Bereichs für r (d. h. Zeilen größer als 49 und kleiner). als 101).

Diese überarbeitete Abfrage sollte die Zeilen innerhalb der angegebenen ROWNUM erfolgreich abrufen Reichweite.

Das obige ist der detaillierte Inhalt vonWie rufe ich einen bestimmten Zeilenbereich mit SQLs ROWNUM ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage