雪花中的案例总和并相应命名

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

我加入了多个视图,以获得每个部门完成任务所需时间的以下输出。输出如下所示:

身份证 流程 部门
S911 批量 销售 24268
S911 批量 MKTG 2992
S911 批量 人力资源 77
S911 批量 14995
S911 批次 数据 739
S911 批次 ITA 8988

我需要的输出是这样的:

身份证 流程 DEPT_2
S911 批次 豁免 24345
S911 批次 无豁免 24722
S911 批量 其他 2992

这是否可以通过案例陈述来完成,其中豁免是销售总和,人力资源非豁免是财务数据和产品的总和,并且还有任何其他部门需要汇总为其他部门。

sql case snowflake-schema
1个回答
0
投票

是的,您可以将案例表达式与聚合结合使用。

我不使用 Snowflake,但我相信您可以在 group-by 子句中使用列别名,如下所示,其中

t
是现有查询的派生表或公用表表达式:

select Id, Process,
  case 
      when dept in ('SALES', 'HR') then 'EXEMPT'
        when dept in ('FIN', 'DATA', 'ITA') then 'NONEXEMPT'
    else 'OTHERS'
    end Dept_2,
    Sum(Seconds) Seconds
from t
group by Id, Process, Dept_2
order by Dept_2;
© www.soinside.com 2019 - 2024. All rights reserved.