如何编写此sql查询

ewm0tg9j  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(401)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

11个月前关门了。
改进这个问题
我有一个如下所示的数据库表:

Group   -   Year  -      Value
-------------------------------
Group A     2018         200
Group A     2019         300
Group A     2020         400
Group B     2019         500
Group B     2020         300

我想写一个sql查询或者类似的东西,或者一个报表工具来生成一个报表,如下所示:

Group       2018     2019    2020
----------------------------------
Group A      200      300     400
Group B      ----     500     300

我试过不同的方法,但还是不知道怎么做?有人能帮忙吗?

66bbxpm5

66bbxpm51#

可以使用条件聚合:

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关键字。如果这是真的名字,我建议你改一下。

相关问题