Heim >Datenbank >MySQL-Tutorial >Wie rufe ich unabhängig vom DBMS die N-te Zeile aus einer Datenbanktabelle ab?

Wie rufe ich unabhängig vom DBMS die N-te Zeile aus einer Datenbanktabelle ab?

Susan Sarandon
Susan SarandonOriginal
2025-01-20 16:57:12877Durchsuche

How to Retrieve the Nth Row from a Database Table Regardless of the DBMS?

Datenbankunabhängige Methoden zum Abrufen der N-ten Zeile

Übersicht

Der Zugriff auf eine bestimmte Datenbanktabellenzeile anhand ihrer Position ist eine häufige Aufgabe. Obwohl einzelne Datenbanksysteme (DBMS) ihre eigenen Methoden bereitstellen, funktionieren mehrere Ansätze auf verschiedenen Datenbankplattformen.

Cross-DBMS-Techniken

  • OFFSET-LIMIT-Klausel:

    • PostgreSQL, MySQL:Verwenden Sie SELECT ... LIMIT y OFFSET x
  • Fensterfunktionen:

    • Oracle, SQL Server, DB2: Fensterfunktionen wie folgt einsetzen:
    <code class="language-sql">  SELECT * FROM (
        SELECT
          ROW_NUMBER() OVER (ORDER BY key ASC) AS rownumber,
          columns
        FROM tablename
      ) AS foo
      WHERE rownumber = n</code>

DBMS-spezifische Lösungen

  • SQL Server: Der Fensterfunktionsansatz (wie oben beschrieben) ist anwendbar.

  • MySQL: Die OFFSET-LIMIT-Klausel (wie oben beschrieben) ist die bevorzugte Methode.

  • PostgreSQL: Sowohl die OFFSET-LIMIT-Klausel als auch die Fensterfunktionen (für Versionen 8.4 und höher) sind geeignet.

  • SQLite: Unterstützung sowohl für OFFSET-LIMIT als auch für Fensterfunktionen ist in Version 3.25.0 und höher verfügbar.

  • Oracle: Die Fensterfunktionsmethode (wie zuvor beschrieben) ist der Standardansatz.

Das obige ist der detaillierte Inhalt vonWie rufe ich unabhängig vom DBMS die N-te Zeile aus einer Datenbanktabelle ab?. 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