Penjelasan terperinci tentang pertanyaan tab silang PostgreSQL dan tablefunc
aplikasi modul
Artikel ini akan memperkenalkan secara terperinci cara menggunakan modul tablefunc
untuk membuat pertanyaan tab silang dalam PostgreSQL.
Pasang tablefunc
modul
Pertama, anda perlu memasang sambungan tablefunc
:
CREATE EXTENSION IF NOT EXISTS tablefunc;
Contoh
Borang ujian:
CREATE TABLE tbl ( section text, status text, ct integer ); INSERT INTO tbl VALUES ('A', 'Active', 1), ('A', 'Inactive', 2), ('B', 'Active', 4), ('B', 'Inactive', 5), ('C', 'Inactive', 7);
Tab silang sasaran:
<code>Section | Active | Inactive ---------+--------+---------- A | 1 | 2 B | 4 | 5 C | | 7</code>
crosstab
Fungsi
Borang parameter tunggal (terhad):
SELECT * FROM crosstab( 'SELECT section, status, ct FROM tbl ORDER BY 1,2' -- 必须为 "ORDER BY 1,2" ) AS ct ("Section" text, "Active" int, "Inactive" int);
Borang parameter berganda (disyorkan):
SELECT * FROM crosstab( 'SELECT section, status, ct FROM tbl ORDER BY 1,2' -- 也可简化为 "ORDER BY 1" , $$VALUES ('Active'::text), ('Inactive')$$ ) AS ct ("Section" text, "Active" int, "Inactive" int);
Kesan input berbilang talian
Borang parameter tunggal:
Borang parameter berganda:
Contoh Terperinci
crosstabview
PostgreSQL 9.6 memperkenalkan meta-perintah ini dalam psql:
db=> SELECT section, status, ct FROM tbl \crosstabview
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Pertanyaan Crosstab dalam PostgreSQL menggunakan modul `tablefunc`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!