Heim >Datenbank >MySQL-Tutorial >Wie verwende ich den PIVOT-Operator von Oracle SQL für die Datentransformation?

Wie verwende ich den PIVOT-Operator von Oracle SQL für die Datentransformation?

Linda Hamilton
Linda HamiltonOriginal
2025-01-23 07:26:09805Durchsuche

How to Use Oracle SQL's PIVOT Operator for Data Transformation?

Pivot-Abfrage in Oracle SQL

Pivot-Abfragen ermöglichen Ihnen die Konvertierung von Daten vom herkömmlichen Spaltenformat in das Zeilenformat und erleichtern so die Analyse und den Vergleich von Daten über verschiedene Kategorien hinweg.

Pivot-Abfrage erstellen

Um Pivot-Abfragen in Oracle SQL zu erstellen, können Sie den PIVOT-Operator verwenden. Für diesen Operator müssen Sie die Daten angeben, die Sie Pivotieren möchten, eine Aggregationsfunktion (z. B. SUM, COUNT oder AVG) und die Kategoriewerte angeben, um die herum Sie Pivotieren möchten.

Beispieldaten und Abfragen

Betrachten Sie die folgenden Beispieldaten aus der Tabelle tq84_pivot:

<code>MONTH | VALUE
-------+-----------
1      | 100
2      | 200
3      | 300
4      | 400
5      | 500
6      | 600</code>

Um Ihre Daten nach Monatskategorien zu schwenken und die Spalte VALUE zu summieren, können Sie die folgende Abfrage verwenden:

<code class="language-sql">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)
);</code>

Ergebnisse ausgeben

Diese Abfrage gibt die folgende Ausgabe zurück:

<code>MONTH_JAN | MONTH_FEB | MONTH_MAR | MONTH_APR | MONTH_MAI | MONTH_JUN
--------+--------+--------+--------+--------+--------
100      | 200      | 300      | 400      | 500      | 600</code>

Oracle 11g und höher

Oracle 11g führt den PIVOT-Operator ein, mit dem Sie Pivot-Abfragen präziser erstellen können. Für dieselben Beispieldaten kann die Abfrage wie folgt vereinfacht werden:

<code class="language-sql">SELECT
  MONTH_JAN, MONTH_FEB, MONTH_MAR, MONTH_APR, MONTH_MAI, MONTH_JUN
FROM
  tq84_pivot
PIVOT (
  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)
);</code>

Das obige ist der detaillierte Inhalt vonWie verwende ich den PIVOT-Operator von Oracle SQL für die Datentransformation?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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