如何编写SQL查询

问题描述 投票:0回答:1

我有一个数据库表,看起来像这样:

组-年份-价值A组2018 200A组2019 300A组2020 400B组2019 500B组2020 300

我想编写一个SQL查询或类似的东西或一个报表工具来生成如下报表:

Group 2018 2019 2020A组200300400B组---- 500300

我尝试了不同的方法,但仍然不确定如何做到这一点?有人可以帮忙吗?非常感谢!

sql reporting
1个回答
0
投票

您可以使用条件聚合:

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关键字。如果这是真实名称,建议您更改它。

© www.soinside.com 2019 - 2024. All rights reserved.