Cara Menggunakan Modul Tab Silang PostrgreSQL

Cara Menggunakan Modul Tab Silang Postrgresql



Apabila anda menjalankan pernyataan SELECT untuk mendapatkan semula rekod daripada jadual PostgreSQL, data dikembalikan dalam bentuk jadual. Bentuk jadual mungkin tidak selalunya yang terbaik untuk membaca data, terutamanya apabila anda ingin membandingkan nilai. Pendekatan yang lebih baik ialah mengembalikan rekod sebagai tab silang. Untuk itu, PostgreSQL menawarkan tablefunc untuk membolehkan pengguna menggunakan fungsi tab silang untuk mewakili data sasaran sebagai jadual pangsi. Siaran ini menghuraikan lebih lanjut tentang cara menggunakan fungsi tab silang PostgreSQL. Teruskan membaca!

Bekerja dengan Modul Tab Silang PostgreSQL

Mempunyai ruang untuk menentukan cara anda mahu data anda diwakili adalah berguna. Dengan PostgreSQL, walaupun cara lalai adalah untuk mempunyai data dalam bentuk jadual, modul tab silang memberi anda pilihan lain. Anda boleh mencipta jadual pangsi menggunakan lajur 'pilih' daripada jadual PostgreSQL untuk persembahan yang lebih baik.

Ciri yang menakjubkan datang sebagai lanjutan untuk PostgreSQL versi 8.3. Sambungan 'tablefunc' menawarkan fungsi tab silang, menjadikannya mungkin untuk mempunyai jadual pangsi sebagai set hasil anda. Mari beri contoh.







Pertama, kami mencipta jadual 'hasil' dengan tiga lajur menggunakan arahan berikut:





Jadual yang dibuat kosong. Oleh itu, teruskan dan gunakan pertanyaan INSERT untuk menambah nilai padanya. Untuk kes ini, kami memasukkan beberapa entri seperti yang ditunjukkan dalam yang berikut:





Jika kami menjalankan pernyataan 'pilih', kami mendapat hasil berikut. Perhatikan bagaimana cara lalai untuk mendapatkan semula rekod ini membentangkannya dalam bentuk jadual. Lajur digunakan sebagai pengepala dan nilai masing-masing muncul dalam baris:



Walaupun pendekatan sebelumnya berfungsi untuk kebanyakan kes, terdapat pilihan lain untuk mendapatkan semula rekod yang sama. Untuk kes ini, kami ingin mencipta jadual pangsi. Oleh itu, kami menggunakan sambungan 'tablefunc' yang disertakan dengan PostgreSQL versi 8.3+.


Jadi, mari kita buat sambungan 'tablefunc' untuk mendayakannya apabila kita memanggilnya dalam pertanyaan. Jalankan arahan berikut:

BUAT SAMBUNG JIKA TIDAK WUJUD tablefunc ;

Anda akan tahu bahawa sambungan telah berjaya didayakan sebaik sahaja anda mendapat output seperti yang kami ada dalam imej sebelumnya.

Untuk fungsi tab silang kita, mari kita jadikan lajur pertama ialah fakulti. Di bawahnya adalah pelbagai fakulti yang kami ada dalam jadual kami. Di sebelah lajur fakulti, kami mempunyai lajur lain yang mewakili nilai berbeza dalam lajur kategori jadual kami. Akhir sekali, untuk setiap kategori, kami mempunyai bilangan pelajar yang mencapai kategori yang berbeza.

Untuk mencapai jadual pangsi sedemikian, gunakan sintaks berikut:

PILIH * DARI CROSSTAB ( 'PILIH lajur1 , lajur2 , lajur3 DARI nama_jadual ORDER BY criteriaa’ )

SEBAGAI nama_baru ( lajur1 jenis data , lajur2 jenis data , lajur_n jenis data ) ;

Menggunakan jadual contoh yang kami buat, arahan kami kelihatan seperti berikut:

Sebelum kita melihat hasilnya, mari kita bincangkan tentang cara perintah modul tab silang berfungsi. Pertama, pernyataan SELECT mengembalikan tiga lajur. Lajur pertama dianggap sebagai pengecam baris. Dalam kes kami, ia adalah lajur 'fakulti'. Lajur kedua, iaitu lajur 'kategori', mewakili kategori untuk jadual pangsi. Akhir sekali, lajur ketiga mengandungi nilai untuk kategori. Dalam kes kami, ia adalah bilangan pelajar dalam setiap kategori.

Mempunyai pemahaman itu, sebaik sahaja kami menekan kekunci 'Enter', kami mendapat jadual pangsi seperti berikut:

Berdasarkan jadual pangsi yang dikembalikan, kita dapat melihat bahawa ia berfungsi seperti tatasusunan 2-D di mana lajur pertama dalam pernyataan SELECT ialah tatasusunan pertama dan lajur kedua ialah tatasusunan kedua dalam dimensi. Lajur ketiga mengandungi nilai untuk elemen tatasusunan kedua.

Kesimpulan

Tab silang PostgreSQL bagus untuk mewakili nilai jadual sebagai jadual pangsi. Anda mesti mengembalikan tiga lajur dalam pernyataan SELECT anda untuk menggunakan modul tab silang, dan siaran ini telah berkongsi contoh praktikal tentang cara menggunakannya. Selain itu, kami menerangkan cara modul tab silang berfungsi dalam mencipta jadual pangsi yang menggunakan logik yang sama seperti tatasusunan 2-D.