Angenommen, Sie haben eine Tabelle mit nach Monaten geordneten numerischen Daten:
<code>MONTH | VALUE -------|------ 1 | 100 2 | 200 3 | 300 ...</code>
Ziel ist es, diese Daten in ein Pivot-Format umzuwandeln, um die monatlichen Werte visueller darzustellen:
<code>MONTH_JAN | MONTH_FEB | MONTH_MAR | ... ---------|---------|---------| 100 | 200 | 300 | ...</code>
Oracle 11g und höher führt den PIVOT-Operator ein, der ein einfaches Pivotieren von Daten ermöglicht. Die Syntax lautet wie folgt:
<code>SELECT * FROM table_name PIVOT ( aggregate_function(column_name) FOR (pivot_column) IN (list_of_values) );</code>
Betrachten Sie die folgenden Beispieldaten:
<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>
Das Ergebnis ist wie erwartet:
<code>MONTH_JAN | MONTH_FEB | MONTH_MAR | ... ---------|---------|---------| 100 | 200 | 300 | ...</code>
Das obige ist der detaillierte Inhalt vonWie kann ich flache monatliche Daten in Oracle SQL für eine einfachere Analyse umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!