Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencipta Pertanyaan Crosstab dalam PostgreSQL Menggunakan Fungsi tab silang()?
crosstab()
Fungsi crosstab()
PostgreSQL memudahkan analisis data dengan mengubah data jadual kepada format yang lebih mudah dibaca dan jadual silang. Teknik berkuasa ini membolehkan tafsiran lebih mudah bagi set data kompleks.
Sebelum anda mula, pastikan sambungan tablefunc
dipasang. Sambungan ini menyediakan fungsi crosstab()
yang diperlukan. Gunakan arahan ini untuk memasangnya:
<code class="language-sql">CREATE EXTENSION IF NOT EXISTS tablefunc;</code>
Sintaks fungsi crosstab()
adalah mudah:
<code class="language-sql">crosstab(query, category_query)</code>
query
: Penyataan SELECT
yang menyediakan data untuk dijadual silang.category_query
: Penyataan SELECT
mentakrifkan kategori untuk lajur tab silang.Mari kita gambarkan dengan contoh. Andaikan kita mempunyai jadual bernama tbl
yang mengandungi data yang ingin kita jadualkan silang:
<code class="language-sql">SELECT * FROM crosstab( 'SELECT section, status, COUNT(*) AS ct FROM tbl GROUP BY section, status', 'SELECT DISTINCT status FROM tbl' ) AS ct ("Section" text, "Active" int, "Inactive" int);</code>
Pertanyaan ini menghasilkan tab silang yang menunjukkan kiraan status "Aktif" dan "Tidak Aktif" untuk setiap "Bahagian". Outputnya mungkin menyerupai:
<code> Section | Active | Inactive ---------+--------+---------- A | 1 | 2 B | 4 | 5 C | 0 | 7</code>
Fungsi crosstab()
menawarkan cara yang fleksibel untuk menganalisis data daripada mana-mana jadual, dengan ketara meningkatkan kebolehbacaan data dan keupayaan analisis dalam PostgreSQL. Ingat untuk melaraskan nama lajur dan jenis data dalam klausa AS ct
untuk memadankan data khusus anda.
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Pertanyaan Crosstab dalam PostgreSQL Menggunakan Fungsi tab silang()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!