Heim > Datenbank > MySQL-Tutorial > Wie kann ich Benutzerdaten mithilfe von zwei Spalten (Organisation und Position) nach Sprache sortieren?

Wie kann ich Benutzerdaten mithilfe von zwei Spalten (Organisation und Position) nach Sprache sortieren?

DDD
Freigeben: 2024-12-28 07:40:26
Original
825 Leute haben es durchsucht

How Can I Pivot User Data by Language Using Two Columns (Organization and Position)?

Pivotieren von Daten mithilfe von zwei Spalten

Diese Frage befasst sich mit der Notwendigkeit, Daten aus einem Format zu plotten, in dem jede Zeile einen Benutzer und die entsprechende Organisation darstellt und Position in einem Format, in dem jede Zeile einen Benutzer und seine Organisationen und Positionen enthält, gruppiert nach Sprache.

Das bereitgestellte Beispiel zeigt, dass die Originaldaten in einer Tabelle gespeichert sind, in der Jede Zeile enthält eine Benutzer-ID, Organisation, Position und Sprache. Die gewünschte Ausgabe besteht darin, eine Tabelle zu haben, in der jede Zeile eine Benutzer-ID, ihre Organisation und Position für jede Sprache enthält.

Um dies zu erreichen, kann eine Pivot-Abfrage verwendet werden, um die Daten zu transformieren. Die vom Benutzer bereitgestellte Abfrage ist ein guter Ausgangspunkt, erfordert jedoch zusätzliche Änderungen, um die gewünschte Ausgabe zu erzielen.

Die folgende geänderte Abfrage sollte funktionieren:

SELECT user_id, 
    MAX(CASE WHEN lang = 'EN' THEN org END) AS org_en, 
    MAX(CASE WHEN lang = 'EN' THEN position END) AS position_en, 
    MAX(CASE WHEN lang = 'FI' THEN org END) AS org_fi, 
    MAX(CASE WHEN lang = 'FI' THEN position END) AS position_fi, 
    MAX(CASE WHEN lang = 'SV' THEN org END) AS org_sv, 
    MAX(CASE WHEN lang = 'SV' THEN position END) AS position_sv
FROM source
GROUP BY user_id;
Nach dem Login kopieren

Diese Abfrage verwendet den CASE Anweisung, um die Spalte „lang“ mit den gewünschten Sprachen zu vergleichen und die entsprechende Organisation oder Position zurückzugeben, wenn die Bedingung erfüllt ist. Anschließend wird die Funktion MAX() verwendet, um die Ergebnisse für jede Benutzer-ID zu aggregieren.

Das obige ist der detaillierte Inhalt vonWie kann ich Benutzerdaten mithilfe von zwei Spalten (Organisation und Position) nach Sprache sortieren?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage