Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menggunakan Operator PIVOT Oracle SQL untuk Transformasi Data?

Bagaimana untuk Menggunakan Operator PIVOT Oracle SQL untuk Transformasi Data?

Linda Hamilton
Lepaskan: 2025-01-23 07:26:09
asal
808 orang telah melayarinya

How to Use Oracle SQL's PIVOT Operator for Data Transformation?

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan