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
In dieser Abfrage:
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!