Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengubah Data Baris ke Lajur Menggunakan Operator PIVOT Oracle SQL?

Bagaimana untuk Mengubah Data Baris ke Lajur Menggunakan Operator PIVOT Oracle SQL?

Mary-Kate Olsen
Lepaskan: 2025-01-23 07:41:10
asal
310 orang telah melayarinya

How to Pivot Row Data into Columns Using Oracle SQL's PIVOT Operator?

Pertanyaan Pangsi Oracle SQL

Matlamat pertanyaan ini adalah untuk menukar data tersusun baris kepada lajur, dengan setiap lajur mewakili nilai tertentu dalam baris input.

Pertimbangkan borang berikut:

月份 数值
1 100
2 200
3 300
4 400
5 500
6 600

Matlamat kami adalah untuk memutar data supaya jadual output kelihatan seperti ini:

一月 二月 三月 四月 五月 六月
100 200 300 400 500 600

Oracle 11g dan ke atas

Bermula dengan Oracle 11g, pengendali PIVOT menyediakan cara yang mudah untuk melakukan ini:

<code class="language-sql">CREATE TABLE tq84_pivot (
  month NUMBER,
  value NUMBER
);

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

-- 插入额外的行以进行演示
INSERT INTO tq84_pivot VALUES(1, 400);
INSERT INTO tq84_pivot VALUES(2, 350);
INSERT INTO tq84_pivot VALUES(4, 150);

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

Pertanyaan ini menggunakan operator PIVOT dengan klausa 'FOR' untuk menentukan lajur pangsi dan nilai yang berkaitan. Dengan mengumpulkan data mengikut lajur 'bulan' dan mengagregatkan lajur 'nilai' menggunakan SUM(), kami mendapat output yang diingini di mana setiap bulan mempunyai nilai yang sepadan.

Atas ialah kandungan terperinci Bagaimana untuk Mengubah Data Baris ke Lajur Menggunakan Operator PIVOT Oracle SQL?. 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