查询以基于单个列中的数据返回新列



我看到了这篇文章(SQL - 查询以分隔单列并根据列数据创建新列),并想对此发表评论,但是,我没有足够的代表。我想做完全相同的事情,但我想对为 case 语句创建的列中的值求和。

您可以像这样对情况应用总和(假设列名):

select 
    name,
    sum(case when status = 'A' then value end) SUM_A,
    sum(case when status = 'B' then value end) SUM_B,
    sum(case when status = 'C' then value end) SUM_C,
    sum(case when status = 'D' then value end) SUM_D
from your_table
group by name;

最新更新