Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengubah Jadual PostgreSQL Menggunakan `unnest()`?

Bagaimanakah Saya Boleh Mengubah Jadual PostgreSQL Menggunakan `unnest()`?

Linda Hamilton
Linda Hamiltonasal
2025-01-04 21:34:43483semak imbas

How Can I Transpose a PostgreSQL Table Using `unnest()`?

Ubah Jadual dengan Menukar Lajur kepada Baris

Apabila bekerja dengan jadual dalam PostgreSQL, mungkin terdapat situasi di mana anda perlu menukar jadual , pada asasnya menukar lajur kepada baris. Ini ialah transformasi yang berguna untuk pelbagai tujuan analisis data.

Pernyataan Masalah:

Anda mempunyai fungsi atau jadual PostgreSQL yang mengeluarkan data dalam format berikut:

Sl.no username Designation salary etc..
1 A XYZ 10000 ...
2 B RTS 50000 ...
3 C QWE 20000 ...
4 D HGD 34343 ...

Anda ingin menukar jadual ini supaya output muncul dalam perkara berikut format:

Sl.no 1 2 3 4 ...
Username A B C D ...
Designation XYZ RTS QWE HGD ...
Salary 10000 50000 20000 34343 ...

Penyelesaian:

Untuk mencapai transposisi ini, anda boleh menggunakan fungsi unnest() daripada PostgreSQL. Fungsi ini membolehkan anda mengekstrak elemen daripada tatasusunan dan menganggapnya sebagai baris individu.

Berikut ialah pertanyaan yang akan mengubah jadual anda:

SELECT
   unnest(array['Sl.no', 'username', 'Designation','salary']) AS "Columns",
   unnest(array[Sl.no, username, value3Count,salary]) AS "Values"
FROM view_name
ORDER BY "Columns"

Penjelasan:

  • Tatasusunan[...] membina tatasusunan yang mengandungi nama lajur dan nilai yang sepadan untuk setiap baris.
  • Fungsi unnest() mengekstrak setiap elemen daripada tatasusunan dan menganggapnya sebagai baris yang berasingan.
  • Klausa ORDER BY memastikan jadual yang ditranspose mempunyai susunan lajur asal.

Pertanyaan ini akan mengeluarkan jadual transposed dalam yang dikehendaki format.

Rujukan:

Fungsi unnest() didokumenkan dalam dokumentasi PostgreSQL di bawah "convertingColumnsToRows."

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Jadual PostgreSQL Menggunakan `unnest()`?. 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