Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencipta Jadual Pangsi dalam PostgreSQL untuk Merumuskan Data Multidimensi?

Bagaimana untuk Mencipta Jadual Pangsi dalam PostgreSQL untuk Merumuskan Data Multidimensi?

Linda Hamilton
Linda Hamiltonasal
2025-01-13 07:38:431029semak imbas

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

Menguasai Jadual Pangsi dalam PostgreSQL untuk Analisis Data Berbilang Dimensi

PostgreSQL menawarkan keupayaan berkuasa untuk meringkaskan dan menganalisis data berbilang dimensi melalui jadual pangsi. Teknik ini mengubah set data yang kompleks kepada format yang mudah dihadam, mendedahkan cerapan berharga.

Mari kita menggambarkan dengan jadual "penyenaraian" yang mengandungi lajur seperti "kejiranan," "bilik tidur" dan "harga". Untuk menentukan harga purata bagi setiap kiraan bilik tidur, dikategorikan mengikut kejiranan, ikut langkah berikut:

  1. Mengira Harga Purata:

    Gunakan AVG() fungsi agregat untuk mengira harga purata bagi setiap gabungan unik kiraan kejiranan dan bilik tidur:

    <code class="language-sql">SELECT neighborhood, bedrooms, AVG(price)
    FROM listings
    GROUP BY 1, 2
    ORDER BY 1, 2;</code>
  2. Mengubah Data dengan Crosstab:

    Manfaatkan fungsi crosstab() (memerlukan pemasangan sambungan tablefunc). Fungsi ini memutar data, menetapkan kejiranan sebagai baris dan bilik tidur dikira sebagai lajur:

    <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>

Langkah ini menjana jadual pangsi PostgreSQL dengan cekap, memudahkan keputusan dipacu data dan pemahaman yang lebih mendalam tentang data anda.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Jadual Pangsi dalam PostgreSQL untuk Merumuskan Data Multidimensi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn