You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snowflake中使用CASE语句实现部门耗时分组求和与重命名

可行,以下是具体实现方案

完全可以通过CASE语句结合聚合函数实现需求,核心是用CASE对部门进行分类,再按分类汇总耗时总和。

假设你的数据集包含两个核心字段:dept(部门名称)和task_hours(任务耗时),可以参考以下SQL语句:

SELECT
  -- 用CASE语句将部门映射到指定分类
  CASE
    WHEN dept IN ('SALES', 'HR') THEN 'EXEMPT'
    WHEN dept IN ('FIN', 'DATA', 'ITA') THEN 'NONEXEMPT'
    ELSE 'OTHERS'
  END AS category,
  -- 计算每个分类的总耗时
  SUM(task_hours) AS total_task_hours
FROM your_combined_dataset  -- 替换为你的关联后数据集名称
GROUP BY
  -- 按分类分组,确保同一分类的耗时被汇总
  CASE
    WHEN dept IN ('SALES', 'HR') THEN 'EXEMPT'
    WHEN dept IN ('FIN', 'DATA', 'ITA') THEN 'NONEXEMPT'
    ELSE 'OTHERS'
  END;

补充说明

  • 如果你的数据库支持GROUP BY别名(比如MySQL、PostgreSQL),可以简化GROUP BY部分为GROUP BY category,代码更简洁。
  • 若需要同时保留原部门信息和分类,可调整语句为按部门和分类分组,示例如下:
SELECT
  dept,
  CASE
    WHEN dept IN ('SALES', 'HR') THEN 'EXEMPT'
    WHEN dept IN ('FIN', 'DATA', 'ITA') THEN 'NONEXEMPT'
    ELSE 'OTHERS'
  END AS category,
  SUM(task_hours) AS total_task_hours
FROM your_combined_dataset
GROUP BY dept, category;

内容的提问来源于stack exchange,提问作者moikoi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 18:43:12