Advertisement
ClarusDignus

MySQL Dynamic Pivot

Apr 10th, 2024
781
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 0.49 KB | Source Code | 0 0
  1. SET SESSION group_concat_max_len = 1000000; -- Set a larger limit
  2.  
  3. SET @sql = NULL;
  4. SELECT
  5.   GROUP_CONCAT(DISTINCT
  6.     CONCAT(
  7.       'max(case when sales_week = ''',
  8.       sales_week,
  9.       ''' then sales_amount end) AS `',
  10.       sales_week, '`'
  11.     )
  12.   ) INTO @sql
  13. FROM
  14.   test_table;
  15. SET @sql = CONCAT('SELECT seller, ', @sql, '
  16.                  FROM test_table
  17.                  GROUP BY seller');
  18.  
  19. -- SELECT @sql;
  20.  
  21. PREPARE stmt FROM @sql;
  22. EXECUTE stmt;
  23. DEALLOCATE PREPARE stmt;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement