基于合并列的sql计数

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

我有一张结构如下的table。

up\ cnt\ U 1对应于dt\ U 1,up\ cnt\ U 2对应于dt\ U 2列。我想汇总由dt\u 1分组的up\u cnt\u 1和由dt\u 2分组的up\u cnt\u 2,但最后的表应该有一个单独的列用于这些日期,尽管计数将单独提及。合并日期列基本上具有唯一的值dt_1和dt_2,对于任何日期,如果缺少相应计数的值,则显示为0。
预期输出如下:

我使用teradata 16作为rdbms

0lvr5msh

0lvr5msh1#

一个选项使用 union all 和聚合:

select dt_merge, sum(up_cnt_1) up_cnt_1, sum(up_cnt_2) up_cnt_2
from (
    select dt_1 dt_merge, up_cnt_1, 0 up_cnt_2 from mytable 
    union all 
    select dt_2, 0, up_cnt_2 from mytable 
) t
group by dt_merge

相关问题