Heim > Datenbank > MySQL-Tutorial > Wie kann ich MySQL-Spaltendaten mithilfe von Aggregation und bedingten Anweisungen in Zeilen umwandeln?

Wie kann ich MySQL-Spaltendaten mithilfe von Aggregation und bedingten Anweisungen in Zeilen umwandeln?

Patricia Arquette
Freigeben: 2024-12-21 18:12:18
Original
663 Leute haben es durchsucht

How to Pivot MySQL Column Data into Rows Using Aggregation and Conditional Statements?

MySQL Pivot-Tabellenspaltendaten als Zeilen

Um Tabellenspaltendaten in MySQL effektiv in Zeilen zu plotten, können Sie eine Kombination von Aggregationsfunktionen verwenden und bedingt Aussagen.

Frage:

SELECT
  a.ID,
  a.user_ID,
  a.job_id,
  MAX(CASE WHEN c.question = 'Is it this?' THEN b.answer END) 'Is it this?',
  MAX(CASE WHEN c.question = 'Or this?' THEN b.answer END) 'Or this?',
  MAX(CASE WHEN c.question = 'Or that? ' THEN b.answer END) 'Or that? '
FROM
  Results a
INNER JOIN
  Answers b ON a.id = b.fk_result_id
INNER JOIN
  Question c ON b.fk_question_id = c.ID
GROUP BY
  a.ID,
  a.user_ID,
  a.job_id;
Nach dem Login kopieren

Erklärung:

  1. Verbinden Sie die Ergebnisse, Antworten und Fragen Tabellen.
  2. Verwenden Sie die CASE-Anweisung, um zu bewerten, ob jede Fragebedingung erfüllt ist, und geben Sie die entsprechende zurück Antwort.
  3. Aggregieren Sie die maximale Antwort für jede Frage mit der Funktion MAX().

Zusätzliche Tipps:

  • Wenn Sie haben eine dynamische Anzahl von Fragen. Erwägen Sie die Verwendung einer dynamischen SQL-Abfrage basierend auf den verfügbaren Fragen.
  • Verwenden Sie den SQLFiddle-Demo-Link in die Antwort für eine praktische Demonstration.

Das obige ist der detaillierte Inhalt vonWie kann ich MySQL-Spaltendaten mithilfe von Aggregation und bedingten Anweisungen in Zeilen umwandeln?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage