Heim >Datenbank >MySQL-Tutorial >Wie kann ich eine PostgreSQL-Tabelle mit „unnest()' transponieren?
Transponieren Sie eine Tabelle durch Konvertieren von Spalten in Zeilen
Beim Arbeiten mit Tabellen in PostgreSQL kann es Situationen geben, in denen Sie eine Tabelle transponieren müssen , im Wesentlichen Spalten in Zeilen umwandeln. Dies ist eine nützliche Transformation für verschiedene Datenanalysezwecke.
Problemstellung:
Sie haben eine PostgreSQL-Funktion oder -Tabelle, die Daten im folgenden Format ausgibt:
Sl.no | username | Designation | salary | etc.. |
---|---|---|---|---|
1 | A | XYZ | 10000 | ... |
2 | B | RTS | 50000 | ... |
3 | C | QWE | 20000 | ... |
4 | D | HGD | 34343 | ... |
Sie möchten diese Tabelle so transponieren, dass die Ausgabe im Folgenden erscheint Format:
Sl.no | 1 | 2 | 3 | 4 | ... |
---|---|---|---|---|---|
Username | A | B | C | D | ... |
Designation | XYZ | RTS | QWE | HGD | ... |
Salary | 10000 | 50000 | 20000 | 34343 | ... |
Lösung:
Um diese Transposition zu erreichen, können Sie die Funktion unnest() von PostgreSQL verwenden. Mit dieser Funktion können Sie Elemente aus einem Array extrahieren und sie als einzelne Zeilen behandeln.
Hier ist die Abfrage, die Ihre Tabelle transponiert:
SELECT unnest(array['Sl.no', 'username', 'Designation','salary']) AS "Columns", unnest(array[Sl.no, username, value3Count,salary]) AS "Values" FROM view_name ORDER BY "Columns"
Erklärung:
Diese Abfrage gibt die transponierte Tabelle in der gewünschten Form aus Format.
Referenz:
Die Funktion unnest() ist in der PostgreSQL-Dokumentation unter „convertingColumnsToRows“ dokumentiert.
Das obige ist der detaillierte Inhalt vonWie kann ich eine PostgreSQL-Tabelle mit „unnest()' transponieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!