Heim >Datenbank >MySQL-Tutorial >Wie erstelle ich dynamische Pivot-Tabellen mit ganzzahligen Spaltennamen in MySQL?

Wie erstelle ich dynamische Pivot-Tabellen mit ganzzahligen Spaltennamen in MySQL?

DDD
DDDOriginal
2024-11-15 08:40:02486Durchsuche

How to Create Dynamic Pivot Tables with Integer Column Names in MySQL?

Dynamische Pivot-Tabellen in MySQL

Beim Versuch, eine Pivot-Tabelle mit dynamischen Spalten zu generieren, ist es wichtig, sicherzustellen, dass die Spaltennamen korrekt sind richtig gehandhabt. In der bereitgestellten Situation ist die Benutzer-ID eine Ganzzahl, die bei unsachgemäßer Formatierung zu Problemen führen kann.

Um dieses Problem zu beheben, müssen die Benutzer-ID-Werte in Backticks (`) eingeschlossen werden, um sie als Spaltennamen und anzugeben verhindern ihre Fehlinterpretation als numerische Werte. Hier ist die geänderte Abfrage:

SET @sql = NULL;
SELECT
  GROUP_CONCAT(DISTINCT
    CONCAT(
      'max(case when user_id = ''',
      user_id,
      ''' then score end) AS `',
      user_id, '`'
    )
  ) INTO @sql
FROM  measure2;

SET @sql = CONCAT('SELECT inspection_date, ', @sql, ' 
                  FROM measure2 
                  GROUP BY inspection_date');

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

Diese Änderung stellt sicher, dass die user_id-Werte als Spaltennamen behandelt werden, was zu einer Pivot-Tabelle mit dynamischen Spalten führt, die jede eindeutige user_id und ihre entsprechenden Bewertungen darstellen.

Das obige ist der detaillierte Inhalt vonWie erstelle ich dynamische Pivot-Tabellen mit ganzzahligen Spaltennamen in MySQL?. 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