Heim >Datenbank >MySQL-Tutorial >Wie kann ich Werte über mehrere Zeilen in PostgreSQL verketten?
PostgreSQL-Datenzeilenwertverbindung
Bei relationalen Datenbankoperationen ist es häufig erforderlich, die Daten zu verarbeiten, bevor das Endergebnis erzielt wird. Eine häufige Aufgabe besteht darin, Werte aus mehreren Zeilen basierend auf einem gemeinsamen Bezeichner zu verketten. In PostgreSQL bietet die Funktion GROUP_CONCAT
hierfür eine einfache Lösung.
GROUP_CONCAT
FunktionPostgreSQL Version 9.0 und höher führte die GROUP_CONCAT
Aggregationsfunktion ein, die eine Reihe von Werten in einer Spalte nimmt und sie zu einer einzigen Zeichenfolge verkettet. Die Syntax von GROUP_CONCAT
lautet wie folgt:
<code class="language-sql">GROUP_CONCAT(DISTINCT expression [ORDER BY expression] [separator])</code>
Parameter:
Betrachten Sie die folgende Tabelle mit dem Namen „sample_data“:
id | value |
---|---|
TM67 | 4 |
TM67 | 9 |
TM67 | 72 |
TM99 | 2 |
TM99 | 3 |
Um die Werte in der Spalte „Wert“ für jede eindeutige „ID“ zu verbinden, können wir GROUP_CONCAT
wie folgt verwenden:
<code class="language-sql">SELECT id, GROUP_CONCAT(value) AS concatenated_values FROM sample_data GROUP BY id;</code>
Diese Abfrage erzeugt die folgende Ausgabe:
id | concatenated_values |
---|---|
TM67 | 4,9,72 |
TM99 | 2,3 |
Wie Sie sehen können, sind die Werte für jede „id“ verkettet und durch Kommas getrennt.
Ab PostgreSQL Version 9.0 kann eine alternative Syntax für GROUP_CONCAT
verwendet werden:
<code class="language-sql">SELECT id, string_agg(value, ',') AS concatenated_values FROM sample_data GROUP BY id;</code>
Diese Syntax entspricht der oben beschriebenen GROUP_CONCAT
-Syntax.
Sie können problemlos mehrere Datenzeilen in PostgreSQL verbinden, indem Sie die Funktion GROUP_CONCAT
oder string_agg
verwenden. Welche Syntax Sie wählen, hängt von Ihrer PostgreSQL-Version und Ihren persönlichen Vorlieben ab.
Das obige ist der detaillierte Inhalt vonWie kann ich Werte über mehrere Zeilen in PostgreSQL verketten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!