Cara menukar baris dan lajur Oracle: 1. Gunakan fungsi pivot() untuk menukar baris kepada lajur Sintaks ialah "pangsi (fungsi pengagregatan untuk nama lajur dalam (jenis))"; fungsi unpivot() untuk menukar lajur kepada baris , sintaksnya ialah "unpivot(nama lajur untuk nama lajur dalam (jenis))".
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Oracle 11g, komputer Dell G3.
Saya pernah didedahkan kepada transposisi baris dan lajur dalam SQL umum Untuk memindahkan baris dan lajur, gunakan jumlah fungsi agregat | ia dengan kes apabila kemudian penyataan tamat untuk mencapainya Lajur ke baris dilaksanakan menggunakan kesatuan atau kesatuan semua. Ini sebenarnya agak menyusahkan, dan dalam data Oracle, fungsi sedemikian disediakan khas untuk merealisasikan fungsi transposisi baris dan lajur.
Anda juga boleh menggunakan SQL umum untuk melaksanakan transposisi baris dan lajur, tetapi Oracle menyediakan fungsi khas untuk mengendalikan transposisi baris dan lajur, iaitu, menggunakan fungsi pangsi dan fungsi nyahpivot, yang diperkenalkan di bawah.
1. Pivot baris ke lajur
Pangkalan data Oracle menyediakan fungsi pangsi untuk merealisasikan fungsi baris ke lajur di atas boleh juga Tulis seperti ini:
SELECT NAME AS 姓名, "'语文'", "'数学'", "'英语'" FROM stu_score pivot ( max( score ) FOR SUBJECT IN ( '语文', '数学', '英语' ) );
Hasil pertanyaan adalah seperti berikut:
2. Nyahpaut penukaran lajur
Fungsi unpivot disediakan dalam oracle Untuk mencapai fungsi lajur ke baris dan mencapai kesan yang sama, SQL juga boleh ditulis seperti ini:
SELECT NAME AS 姓名, 月份,工资 FROM e_sal unpivot ( 工资 FOR 月份 IN ( M_1, M_2, M_3, M_4 ) );
Hasil pertanyaan adalah seperti berikut:
Tutorial yang disyorkan: "Tutorial Video Oracle》
Atas ialah kandungan terperinci Bagaimana untuk menukar baris dan lajur dalam oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!