Heim > Datenbank > MySQL-Tutorial > Wie kann ich Daten in Oracle SQL von Zeilen in Spalten umwandeln?

Wie kann ich Daten in Oracle SQL von Zeilen in Spalten umwandeln?

Patricia Arquette
Freigeben: 2025-01-23 07:31:10
Original
287 Leute haben es durchsucht

How to Pivot Data from Rows to Columns in Oracle SQL?

Pivot-Abfragen in Oracle SQL erstellen

In Oracle SQL werden Pivot-Abfragen verwendet, um die vertikale Ausrichtung von Daten in eine horizontale Ausrichtung umzuwandeln. Ein häufiges Szenario besteht darin, in Zeilen organisierte Daten in ein in Spalten dargestelltes Format zu konvertieren.

Beispiel

Stellen Sie sich eine Datentabelle vor, die die Spalten „MONTH“ und „VALUE“ enthält:

MONTH VALUE
1 100
2 200
3 300
4 400
5 500
6 600

Erwartete Ergebnisse

Das erwartete Ergebnis ist eine Pivot-Tabelle mit einer Spalte für jeden einzelnen Monat, in der der entsprechende „WERT“ angezeigt wird:

MONTH_JAN MONTH_FEB MONTH_MAR MONTH_APR MONTH_MAY MONTH_JUN
100 200 300 400 500 600

Oracle 11g und höher

In Oracle 11g und höher kann der PIVOT-Operator verwendet werden:

<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>
Nach dem Login kopieren

Diese Abfrage erstellt die erforderliche Pivot-Tabelle.

Das obige ist der detaillierte Inhalt vonWie kann ich Daten in Oracle SQL von Zeilen in Spalten umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage