我有一个数据库表,看起来像这样:
组-年份-价值A组2018 200A组2019 300A组2020 400B组2019 500B组2020 300
我想编写一个SQL查询或类似的东西或一个报表工具来生成如下报表:
Group 2018 2019 2020A组200300400B组---- 500300
我尝试了不同的方法,但仍然不确定如何做到这一点?有人可以帮忙吗?非常感谢!
您可以使用条件聚合:
select group,
sum(case when year = 2018 then value end) as value_2018,
sum(case when year = 2019 then value end) as value_2019,
sum(case when year = 2020 then value end) as value_2020
from t
group by group;
请注意,group
对于列而言确实是一个坏名称,因为它是SQL关键字。如果这是真实名称,建议您更改它。