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

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

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-15 15:59:10602Durchsuche

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

Hinzufügen von Zeilennummern zu PostgreSQL-Abfrageergebnissen

Die Anzeige von Zeilennummern kann wertvollen Kontext zu Ihren PostgreSQL-Abfrageergebnissen liefern. PostgreSQL hat in Version 8.4 die Fensterfunktion ROW_NUMBER() eingeführt, mit der Sie Zeilennummern zu Ihren Abfragen hinzufügen können.

Syntax:

Die Syntax für ROW_NUMBER() ist als folgt:

ROW_NUMBER() OVER (PARTITION BY partition_expression ORDER BY sort_expression)
  • partition_expression: Optional. Gruppiert Zeilen vor der Nummerierung.
  • sort_expression: Optional. Bestimmt die Reihenfolge, in der Zeilennummern zugewiesen werden.

Beispiel:

Um Zeilennummern ohne Sortierung oder Gruppierung zuzuweisen, verwenden Sie:

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

Sortieren und Gruppieren:

Um Zeilen vorher zu sortieren und zu gruppieren Geben Sie beim Zuweisen von Zeilennummern die Klauseln ORDER BY bzw. PARTITION BY an:

SELECT ROW_NUMBER() OVER (ORDER BY last_name) AS rownum, *
FROM employee_tbl;

Diese Abfrage weist Zeilennummern basierend auf den Werten in der Spalte „last_name“ zu, wobei Verknüpfungen durch die Standardsortierreihenfolge der Tabelle aufgelöst werden .

Vereinfachung der Abfrage:

Wenn eine Sortierung oder Gruppierung nicht erforderlich ist, können Sie dies tun Vereinfachen Sie die Abfrage wie folgt:

SELECT ROW_NUMBER() OVER () AS rownum, *  -- no fields in the ORDER BY clause
FROM foo_tbl;

SQL Fiddle-Beispiel:

Ein funktionierendes Beispiel finden Sie unter [SQL Fiddle](https://sqlfiddle.com /#!18/6e750c/1).

Das obige ist der detaillierte Inhalt vonWie kann ich 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