我想在MySQL中生成一个交叉表查询。我用group_concat
,但它不工作。我发出下面的查询生成今年的榜单:mysql group_concat输出作为另一个查询列表
set @v1 = (SELECT GROUP_CONCAT(DISTINCT
CONCAT('\\nsum(CASE WHEN myear=\"', myear ,'\"
THEN amount ELSE NULL END) AS\"', myear,'\"')) AS column_list
FROM mdata
where myear > 1972 and myear < 1974);
select myear, amount, @v1 from mdata;
,它产生的@v1
但与二进制领域多年的列表。我想在我的下一个查询中使用它来进行交叉表查询。
我可以使用PHP运行第一个查询并将值存储在变量中,并在下一个查询中使用它,但是如何在MySQL中完成?
请出示您的表格和预期产出。 :) – bonCodigo