Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie transponiert man Zeilen in Spalten mit großen Datenmengen in BigQuery/SQL?

STEP #1

Ersetzen Sie in der folgenden Abfrage yourTable mit dem echten Namen Ihrer Tabelle und führen Sie sie aus/führen Sie sie aus

SELECT 'SELECT CustomerID, ' + 
   GROUP_CONCAT_UNQUOTED(
      'MAX(IF(Feature = "' + STRING(Feature) + '", Value, NULL))'
   ) 
   + ' FROM yourTable GROUP BY CustomerID'
FROM (SELECT Feature FROM yourTable GROUP BY Feature) 

Als Ergebnis erhalten Sie eine Zeichenfolge, die im nächsten Schritt verwendet werden kann!

STEP #2

Nehmen Sie die Zeichenfolge, die Sie aus Schritt 1 erhalten haben, und führen Sie sie einfach als Abfrage aus
Die Ausgabe ist ein Pivot, den Sie in Frage gestellt haben