sql >> Databasteknik >  >> RDS >> Mysql

MySQL pivottabell med java

Du kan använda dynamisk SQL för att pivotera dynamiskt som t.ex.

SET @sql = NULL;
SET @date = '2020-11-30';

SELECT GROUP_CONCAT(
             CONCAT(
                    'SUM(CASE WHEN Partners = "', Partners,'" THEN Amount ELSE 0 END ) AS'
                    ,Partners
                    )
       )
  INTO @sql
  FROM ( SELECT DISTINCT Partners FROM BPFinal WHERE Date = @date ) AS b;

SET @sql = CONCAT('SELECT Branch,',@sql,
                   ' FROM BPFinal
                    WHERE Date = "',@date,'"' 
                  ' GROUP BY Branch'); 
                  
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt; 

Demo



  1. Objektet i klassen DateTime kunde inte konverteras till sträng

  2. MySQL - hur länge ska man skapa ett index?

  3. Snabbaste sättet att dumpa Python-ordboksobjekt (dict) till en MySQL-tabell?

  4. Dumpa alla tabeller i CSV-format med 'mysqldump'