你好假设有一个临时表,结果集如下:
月份列根据用户输入动态变化。现在我希望我的月份列值(月)成为列,在它下面是数量,所有内容都将按account_id分组。
我已经搜索了每个答案,但我仍然无法得到它。这是我的代码,但它没有准确返回,我仍然迷失在这里:
CREATE DEFINER=`root`@`localhost` PROCEDURE `test`()
BEGIN
SET group_concat_max_len=2048;
SELECT CONCAT('
SELECT account_id, month ',
GROUP_CONCAT('
GROUP_CONCAT(IF(amount=',QUOTE(amount),',value,NULL))
AS `',REPLACE(amount,'`','``'),'`'
), '
FROM tmp_results
GROUP BY account_id
')
INTO @sql
FROM (
SELECT account_id, month FROM tmp_results
) t;
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END
有人可以一步一步地帮助我,我能理解吗? PHP laravel一步一步也欢迎。我是新手开发者。谢谢!