Heim >Datenbank >MySQL-Tutorial >Wie werden Daten mithilfe mehrerer Spalten (Benutzer-ID und Sprache) in SQL geschwenkt?

Wie werden Daten mithilfe mehrerer Spalten (Benutzer-ID und Sprache) in SQL geschwenkt?

DDD
DDDOriginal
2024-12-18 02:34:13458Durchsuche

How to Pivot Data Using Multiple Columns (user_id and lang) in SQL?

Pivotieren von Daten mit mehreren Spalten

Im bereitgestellten Datensatz werden Daten derzeit mit der Spalte „user_id“ als primärer Kennung geschwenkt. Das gewünschte Ergebnis besteht jedoch darin, die Daten mit user_id und lang als primären Identifikatoren zu Pivotieren.

Um dies zu erreichen, kann die PIVOT-Funktion verwendet werden. Die PIVOT-Funktion nimmt einen aggregierten Wert und gruppiert ihn nach einer oder mehreren Spalten, wobei für jede Gruppe eine neue Spalte erstellt wird. In diesem Fall werden die Spalten „org“ und „position“ aggregiert und nach Sprache gruppiert.

SQL-Abfrage

Die folgende SQL-Abfrage zeigt, wie die Daten mithilfe mehrerer Spalten geschwenkt werden:

SELECT *
FROM source
PIVOT (
    MIN(org) AS org,
    MIN(position) AS position
    FOR lang IN('EN' AS en, 'FI' AS fi, 'SV' AS sv)
);
  • Die SELECT-Klausel ruft alle Spalten aus der Quelltabelle ab.
  • Die FROM-Klausel gibt die Quelltabelle als Ursprung an der Daten.
  • Die PIVOT-Klausel führt die Pivotierungsoperation aus:

    • MIN(org) berechnet den Mindestwert der Org-Spalte für jede Gruppe.
    • MIN(position) berechnet den Mindestwert der Positionsspalte für jede Gruppe.
    • FOR lang IN('EN' AS en, 'FI' AS fi, 'SV' AS sv) definiert die Gruppierungsspalten und ihre entsprechenden Aliase.

Ergebnis

Das Ergebnis der Abfrage ist a Pivot-Datensatz mit den folgenden Spalten:

  • user_id: Der Benutzer Bezeichner.
  • org_en: Die Organisation, die mit der Präferenz für die englische Sprache verbunden ist.
  • position_en: Die Position, die mit der Präferenz für die englische Sprache verbunden ist.
  • org_fi: Die Organisation, die mit der Präferenz für die finnische Sprache verbunden ist.
  • position_fi: Die mit der finnischen Sprachpräferenz verbundene Position.
  • org_sv: Die mit der schwedischen Sprache verbundene Organisation Präferenz.
  • position_sv: Die Position, die mit der schwedischen Sprachpräferenz verknüpft ist.

Das obige ist der detaillierte Inhalt vonWie werden Daten mithilfe mehrerer Spalten (Benutzer-ID und Sprache) in SQL geschwenkt?. 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