Pertanyaan pangsi dalam Oracle SQL
Pertanyaan pangsi membolehkan anda menukar data daripada format lajur tradisional kepada format baris, menjadikannya mudah untuk menganalisis dan membandingkan data merentas kategori yang berbeza.
Buat pertanyaan pangsi
Untuk membuat pertanyaan pangsi dalam Oracle SQL, anda boleh menggunakan operator PIVOT. Pengendali ini memerlukan anda untuk menentukan data yang anda mahu pangsi, fungsi pengagregatan (seperti SUM, COUNT atau AVG) dan nilai kategori yang anda ingin pivot.
Contoh data dan pertanyaan
Pertimbangkan contoh data berikut daripada jadual tq84_pivot
:
<code>MONTH | VALUE -------+----------- 1 | 100 2 | 200 3 | 300 4 | 400 5 | 500 6 | 600</code>
Untuk memutar data anda di sekitar kategori bulan dan menjumlahkan lajur VALUE, anda boleh menggunakan pertanyaan berikut:
<code class="language-sql">SELECT * FROM tq84_pivot PIVOT ( SUM(VALUE) AS sum_value FOR MONTH IN (1 AS MONTH_JAN, 2 AS MONTH_FEB, 3 AS MONTH_MAR, 4 AS MONTH_APR, 5 AS MONTH_MAI, 6 AS MONTH_JUN) );</code>
Hasil keluaran
Pertanyaan ini akan mengembalikan output berikut:
<code>MONTH_JAN | MONTH_FEB | MONTH_MAR | MONTH_APR | MONTH_MAI | MONTH_JUN --------+--------+--------+--------+--------+-------- 100 | 200 | 300 | 400 | 500 | 600</code>
Oracle 11g dan ke atas
Oracle 11g memperkenalkan pengendali PIVOT, yang membolehkan anda membuat pertanyaan pangsi dengan cara yang lebih ringkas. Untuk data contoh yang sama, pertanyaan boleh dipermudahkan kepada:
<code class="language-sql">SELECT MONTH_JAN, MONTH_FEB, MONTH_MAR, MONTH_APR, MONTH_MAI, MONTH_JUN FROM tq84_pivot PIVOT ( SUM(VALUE) FOR MONTH IN (1 AS MONTH_JAN, 2 AS MONTH_FEB, 3 AS MONTH_MAR, 4 AS MONTH_APR, 5 AS MONTH_MAI, 6 AS MONTH_JUN) );</code>
Atas ialah kandungan terperinci Bagaimana untuk Menggunakan Operator PIVOT Oracle SQL untuk Transformasi Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!