Heim >Datenbank >MySQL-Tutorial >Wie kann ich die n-te Zeile aus einer SQL-Datenbanktabelle auswählen?
Abrufen der n-ten Zeile aus einer SQL-Tabelle
Diese Anleitung zeigt, wie Sie die n-te Zeile aus einer SQL-Datenbanktabelle auswählen und deckt dabei sowohl datenbankunabhängige als auch datenbankspezifische Methoden ab.
Ein universeller Ansatz
Während SQL-Standards Funktionen zur Zeilenauswahl bieten, implementieren viele Datenbanksysteme diese unterschiedlich. Eine zuverlässige, datenbankübergreifende Methode verwendet eine Unterabfrage mit der Analysefunktion ROW_NUMBER()
:
<code class="language-sql">WITH OrderedRows AS ( SELECT ROW_NUMBER() OVER (ORDER BY OrderID) AS RowNum, OrderID, OrderDate FROM Orders ) SELECT * FROM OrderedRows WHERE RowNum = n</code>
Ersetzen Sie n
durch die gewünschte Zeilennummer, OrderID
durch Ihren Primärschlüssel oder Ihre Sortierspalte und Orders
durch Ihren Tabellennamen.
Datenbankspezifische Techniken
PostgreSQL und MySQL:
Diese Datenbanken verwenden die Klauseln OFFSET
und LIMIT
(beachten Sie, dass dies ein nicht standardmäßiger Ansatz ist):
<code class="language-sql">SELECT * FROM your_table LIMIT 1 OFFSET n-1;</code>
Hier wird n-1
verwendet, weil OFFSET
mit dem Zählen bei 0 beginnt.
Oracle, DB2 und MSSQL:
Diese Systeme unterstützen Standardfensterfunktionen:
<code class="language-sql">SELECT * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY key_column ASC) AS rn, * FROM your_table ) AS numbered_rows WHERE rn = n;</code>
Ersetzen Sie key_column
durch Ihren Primärschlüssel oder Ihre Sortierspalte, your_table
durch Ihren Tabellennamen und n
durch die gewünschte Zeilennummer.
PostgreSQL- und SQLite-Updates:
PostgreSQL Version 8.4 und höher sowie SQLite Version 3.25.0 und höher unterstützen beide Standardfensterfunktionen, wodurch der oben beschriebene universelle Ansatz vollständig kompatibel ist.
Das obige ist der detaillierte Inhalt vonWie kann ich die n-te Zeile aus einer SQL-Datenbanktabelle auswählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!