Heim >Datenbank >MySQL-Tutorial >Wie erstelle ich Pivot-Tabellen in PostgreSQL, um mehrdimensionale Daten zusammenzufassen?

Wie erstelle ich Pivot-Tabellen in PostgreSQL, um mehrdimensionale Daten zusammenzufassen?

Linda Hamilton
Linda HamiltonOriginal
2025-01-13 07:38:431029Durchsuche

How to Create Pivot Tables in PostgreSQL to Summarize Multidimensional Data?

Pivot-Tabellen in PostgreSQL für die mehrdimensionale Datenanalyse beherrschen

PostgreSQL bietet leistungsstarke Funktionen zum Zusammenfassen und Analysieren mehrdimensionaler Daten mithilfe von Pivot-Tabellen. Diese Technik wandelt komplexe Datensätze in leicht verständliche Formate um und liefert wertvolle Erkenntnisse.

Veranschaulichen wir dies mit einer Tabelle „Inserate“, die Spalten wie „Nachbarschaft“, „Schlafzimmer“ und „Preis“ enthält. Um den Durchschnittspreis für jede Schlafzimmeranzahl, kategorisiert nach Stadtteil, zu ermitteln, gehen Sie folgendermaßen vor:

  1. Durchschnittspreise berechnen:

    Verwenden Sie die Aggregatfunktion AVG(), um den Durchschnittspreis für jede einzelne Kombination aus Nachbarschaft und Schlafzimmeranzahl zu berechnen:

    <code class="language-sql">SELECT neighborhood, bedrooms, AVG(price)
    FROM listings
    GROUP BY 1, 2
    ORDER BY 1, 2;</code>
  2. Daten mit Kreuztabelle transformieren:

    Nutzen Sie die Funktion crosstab() (erfordert die Installation der Erweiterung tablefunc). Diese Funktion dreht die Daten und legt Nachbarschaften als Zeilen und Schlafzimmeranzahlen als Spalten fest:

    <code class="language-sql">SELECT *
    FROM crosstab(
       'SELECT neighborhood, bedrooms, AVG(price)::INT
        FROM listings
        GROUP BY 1, 2
        ORDER BY 1, 2;'
       , $$SELECT UNNEST('{0,1,2,3}'::INT[])$$
    ) AS ct ("neighborhood" TEXT, "0" INT, "1" INT, "2" INT, "3" INT);</code>

Diese Schritte generieren effizient PostgreSQL-Pivot-Tabellen und erleichtern so datengesteuerte Entscheidungen und ein tieferes Verständnis Ihrer Daten.

Das obige ist der detaillierte Inhalt vonWie erstelle ich Pivot-Tabellen in PostgreSQL, um mehrdimensionale Daten zusammenzufassen?. 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