Heim >Datenbank >MySQL-Tutorial >Wie entpivotiere ich Daten und behalte Spaltennamen in SQL bei?

Wie entpivotiere ich Daten und behalte Spaltennamen in SQL bei?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-21 04:41:12129Durchsuche

How to Unpivot Data and Preserve Column Names in SQL?

SQL destrukturiert Daten und behält Spaltennamen bei

In diesem Artikel erfahren Sie, wie Sie Tabellendaten unter Beibehaltung der Spaltennamen dekonstruieren.

Beispiel

Angenommen, es gibt eine Tabelle mit dem Namen „StudentMarks“, die die Spalten „Name“, „Mathematik“, „Naturwissenschaften“ und „Englisch“ enthält. Das Datenformat ist wie folgt:

<code>Name  Maths  Science  English
Tilak  90      40      60
Raj    30      20      10</code>

Ziel

Ziel ist es, die Daten in das folgende Format zu konvertieren:

<code>Name  Subject  Marks
Tilak  Maths    90
Tilak  Science  40
Tilak  English  60</code>

SQL-Anweisung

Um die erwarteten Ergebnisse zu erzielen, müssen Sie die UNPIVOT-Anweisung zur Datenkonvertierung verwenden und den Kontonamen extrahieren:

<code class="language-sql">SELECT Name, Subject, Marks
FROM StudentMarks
UNPIVOT
(
    Marks
    FOR Subject IN (Maths, Science, English)
) AS UnPvt;</code>

Beschreibung

  • Die UNPIVOT-Klausel konvertiert Daten von Zeilen in Spalten.
  • Die FOR-Klausel gibt die zu destrukturierenden Spalten an.
  • AS UnPvt-Alias ​​weist der destrukturierten Tabelle einen Namen zu.
  • Die SELECT-Klausel wählt Spalten aus der destrukturierten Tabelle aus.

Mit den oben genannten Schritten können Sie Tabellendaten erfolgreich dekonstruieren und Spaltennamen im Endergebnis beibehalten.

Das obige ist der detaillierte Inhalt vonWie entpivotiere ich Daten und behalte Spaltennamen in SQL bei?. 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