Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mencipta Jadual Pangsi Menunjukkan Purata Harga Rumah mengikut Kiraan Kejiranan dan Bilik Tidur dalam PostgreSQL?

Bagaimana untuk Mencipta Jadual Pangsi Menunjukkan Purata Harga Rumah mengikut Kiraan Kejiranan dan Bilik Tidur dalam PostgreSQL?

Mary-Kate Olsen
Lepaskan: 2025-01-13 09:53:43
asal
976 orang telah melayarinya

How to Create a Pivot Table Showing Average House Prices by Neighborhood and Bedroom Count in PostgreSQL?

Membuat Jadual Pangsi dalam PostgreSQL untuk Menunjukkan Purata Harga Rumah

Masalah: Bagaimanakah kita boleh menjana jadual ringkasan yang menunjukkan purata harga rumah, dipecahkan mengikut kejiranan dan bilangan bilik tidur?

Penyelesaian: Ini melibatkan proses dua langkah menggunakan fungsi crosstab PostgreSQL (daripada sambungan tablefunc).

  1. Kira Harga Purata mengikut Kiraan Kejiranan dan Bilik Tidur: Mula-mula, kami menentukan harga purata bagi setiap gabungan kiraan kejiranan dan bilik tidur.
<code class="language-sql">SELECT neighborhood, bedrooms, AVG(price) AS average_price
FROM listings
GROUP BY neighborhood, bedrooms
ORDER BY neighborhood, bedrooms;</code>
Salin selepas log masuk
  1. Gunakan Fungsi crosstab: Seterusnya, kami masukkan hasil daripada langkah 1 ke dalam fungsi crosstab. Fungsi ini mengubah data menjadi jadual pangsi. Argumen kedua menentukan kiraan bilik tidur yang kita inginkan sebagai lajur. Ambil perhatian bahawa anda perlu memasang sambungan tablefunc jika anda belum melakukannya (CREATE EXTENSION tablefunc;).
<code class="language-sql">SELECT *
FROM crosstab(
    'SELECT neighborhood, bedrooms, AVG(price)::int AS average_price
     FROM listings
     GROUP BY neighborhood, bedrooms
     ORDER BY neighborhood, bedrooms',
    $$SELECT unnest('{0,1,2,3}'::int[]) AS bedrooms$$
) AS ct ("neighborhood" text, "0" int, "1" int, "2" int, "3" int);</code>
Salin selepas log masuk

Pertanyaan ini menghasilkan jadual pangsi dengan kejiranan sebagai baris dan harga purata untuk 0, 1, 2 dan 3 bilik tidur sebagai lajur. Ingat untuk melaraskan tatasusunan '{0,1,2,3}' untuk mencerminkan kiraan bilik tidur sebenar yang terdapat dalam jadual listings anda. Pelakon ::int memastikan harga purata dianggap sebagai integer; anda mungkin perlu melaraskan ini berdasarkan price jenis data lajur anda.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Jadual Pangsi Menunjukkan Purata Harga Rumah mengikut Kiraan Kejiranan dan Bilik Tidur dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan