Rumah > pangkalan data > Oracle > Cara menggunakan unpivot dalam oracle

Cara menggunakan unpivot dalam oracle

下次还敢
Lepaskan: 2024-04-30 06:27:20
asal
664 orang telah melayarinya

Operator UNPIVOT menukar data baris dalam Oracle kepada data lajur untuk analisis dan pertanyaan yang lebih mudah. Ia menukar set data yang mengandungi berbilang baris dan lajur kepada set data baharu dengan lajur ID yang mewakili baris asal dan lajur nilai yang mengandungi nilai daripada lajur asal. Sintaks UNPIVOT ialah: SELECT * FROM UNPIVOT(table_name) AS unpivoted_table[WHERE pivot_condition]. Faedah termasuk pertanyaan yang dipermudahkan, prestasi yang dipertingkatkan dan sokongan untuk berputar. Contohnya, anda boleh menukar data suku tahun jualan kepada lajur untuk menganalisis jualan mengikut produk dan suku tahun dengan mudah.

Cara menggunakan unpivot dalam oracle

UNPIVOT penggunaan dalam Oracle

Apakah itu UNPIVOT?

UNPIVOT ialah operator Oracle yang digunakan untuk menukar data baris kepada data lajur. Ia mengubah set data berbilang baris, berbilang lajur kepada set data baharu dengan dua lajur: lajur ID (mewakili baris asal) dan lajur nilai (mengandungi nilai daripada lajur asal).

Penggunaan UNPIVOT

Sintaks UNPIVOT adalah seperti berikut:

<code>SELECT * FROM UNPIVOT(table_name) [AS unpivoted_table]
[FOR column_name IN (column_list)]
[WHERE pivot_condition]</code>
Salin selepas log masuk

di mana:

  • nama_jadual ialah nama set data yang hendak ditukar. table_name 是要转换的数据集的名称。
  • column_name 是要转换为列的原始列的名称。
  • column_list 是要转换为列的原始列的列表。
  • pivot_condition 是可选的条件,用于过滤要转换为列的数据。

示例

假设有一个名为 sales 的数据集,其中包含以下列:

  • product_id
  • product_name
  • sales_q1
  • sales_q2
  • sales_q3
  • sales_q4
  • nama_lajur ialah nama lajur asal yang akan ditukar kepada lajur.

column_list ialah senarai lajur mentah untuk ditukar kepada lajur.

keadaan_pangsi ialah syarat pilihan yang digunakan untuk menapis data untuk ditukar kepada lajur.

Contohid_produknama_produksales_q1sales_q2Untuk menukar data suku jualan bagi lajur, anda boleh menggunakan pertanyaan UNPIVOT berikut: Dataset yang terhasil akan kelihatan seperti ini: sales_value Produk AQ1100 1Produk AQ22001Produk AQ3
Andaikan terdapat set data bernama jualan dengan lajur berikut:
sales_q3 sales_q4
<code>SELECT * FROM UNPIVOT(sales) AS unpivoted_sales
FOR sales_quarter IN (sales_q1, sales_q2, sales_q3, sales_q4)</code>
Salin selepas log masuk
product_id product_name sales_quarter1
Produk A Q4 400
2 Produk B Q1 500
2

Produk B

Q2

600
🎜700🎜🎜🎜🎜2🎜🎜Produk B🎜 🎜Q4🎜🎜800🎜🎜🎜🎜🎜🎜 Kelebihan UNPIVOT🎜🎜🎜Menggunakan UNPIVOT mempunyai kelebihan berikut: 🎜🎜🎜Tukar data baris kepada data lajur yang lebih mudah untuk menganalisis data lajur 🎜🎜Memudahkan pertanyaan dan reka bentuk laporan. 🎜🎜Tingkatkan prestasi pengagregatan data dan jadual pangsi. 🎜🎜

Atas ialah kandungan terperinci Cara menggunakan unpivot dalam oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan