Heim >Datenbank >MySQL-Tutorial >Wie kann ich mithilfe von Fensterfunktionen Zeilennummern zu meinen PostgreSQL-Abfrageergebnissen hinzufügen?

Wie kann ich mithilfe von Fensterfunktionen Zeilennummern zu meinen PostgreSQL-Abfrageergebnissen hinzufügen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-26 15:37:15826Durchsuche

How Can I Add Row Numbers to My PostgreSQL Query Results Using Window Functions?

Zeilennummern in PostgreSQL-Abfragen mit Fensterfunktionen anzeigen

Zum leichteren Nachschlagen und Analysieren werden Zeilennummern für jeden Datensatz in einer PostgreSQL-Abfrage angezeigt kann sehr nützlich sein. In PostgreSQL 8.4 und höher ermöglicht die leistungsstarke Fensterfunktion ROW_NUMBER() diese Funktionalität.

Verwendung der Funktion ROW_NUMBER()

Zum Anzeigen der fortlaufenden Beobachtungsnummer für jeden Datensatz , können Sie die Funktion ROW_NUMBER() in Ihrer Abfrage verwenden. Seine Syntax enthält eine ORDER BY-Klausel, um die Reihenfolge der Zeilen zu bestimmen. So können Sie es implementieren:

SELECT ROW_NUMBER() OVER (ORDER BY field NULLS LAST) AS rownum, *
FROM foo_tbl
ORDER BY field;

In dieser Abfrage:

  • ROW_NUMBER() OVER (ORDER BY field NULLS LAST) berechnet die Zeilennummer für jeden Datensatz und ordnet sie Zeilen in aufsteigender Reihenfolge.
  • foo_tbl stellt die Tabelle dar, die die gewünschten Daten enthält enumerate.
  • Feld gibt die Spalte an, nach der Sie die Zeilen ordnen möchten. Nullwerte werden von der Option NULLS LAST verarbeitet und am Ende der Sequenz platziert.

Vereinfachter Ansatz ohne Reihenfolge

Wenn die Zeilenreihenfolge nicht unbedingt erforderlich ist , können Sie die Abfrage vereinfachen, indem Sie die ORDER BY-Klausel ausschließen:

SELECT ROW_NUMBER() OVER(), *
FROM foo_tbl;

Dieser Ansatz weist jedem Datensatz Zeilennummern zu, ohne dies zu berücksichtigen eine bestimmte Reihenfolge oder Sortierung.

Beispiel

Betrachten Sie die folgende SQL Fiddle-Demonstration: https://www.sqlfiddle.com/#!17/665c8e/1

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von Fensterfunktionen Zeilennummern zu meinen PostgreSQL-Abfrageergebnissen hinzufügen?. 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