Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengubah Data Bulanan Rata dalam Oracle SQL untuk Analisis Lebih Mudah?

Bagaimanakah Saya Boleh Mengubah Data Bulanan Rata dalam Oracle SQL untuk Analisis Lebih Mudah?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-23 07:37:10765semak imbas

How Can I Pivot Flat Monthly Data in Oracle SQL for Easier Analysis?

Pembinaan semula data jadual pangsi Oracle SQL

Isu: Tukar data jadual rata untuk analisis pangsi

Andaikan anda mempunyai jadual yang mengandungi data berangka yang disusun mengikut bulan:

<code>MONTH | VALUE
-------|------
1      | 100
2      | 200
3      | 300
...</code>

Matlamatnya adalah untuk menukar data ini kepada format pangsi untuk melihat nilai bulanan dengan lebih visual:

<code>MONTH_JAN | MONTH_FEB | MONTH_MAR | ...
---------|---------|---------|
100       | 200       | 300       | ...</code>

Oracle 11g dan ke atas: operator PIVOT

Oracle 11g dan kemudiannya memperkenalkan pengendali PIVOT, yang membolehkan data berputar dengan mudah. Sintaksnya adalah seperti berikut:

<code>SELECT *
FROM table_name
PIVOT (
  aggregate_function(column_name)
  FOR (pivot_column)
  IN (list_of_values)
);</code>

Contoh menggunakan operator PIVOT

Pertimbangkan contoh data berikut:

<code>CREATE TABLE tq84_pivot (
  month NUMBER,
  value NUMBER
);

INSERT INTO tq84_pivot VALUES (1, 100), (2, 200), (3, 300), (4, 400), (5, 500), (6, 600);

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,
                  7 AS month_jul,
                  8 AS month_aug,
                  9 AS month_sep,
                 10 AS month_oct,
                 11 AS month_nov,
                 12 AS month_dec)
);</code>

Hasilnya seperti yang dijangkakan:

<code>MONTH_JAN | MONTH_FEB | MONTH_MAR | ...
---------|---------|---------|
100       | 200       | 300       | ...</code>

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Data Bulanan Rata dalam Oracle SQL untuk Analisis Lebih Mudah?. 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