繁体   English   中英

多行过滤器和计算百分比

[英]Multiple row filter and Calculate percentage

在此处输入图像描述我是 SQL 新手。 我正在处理一个需要过滤然后计算百分比的数据库。 下面是示例表。 要遵循的步骤:

  • 第一个过滤器 Column Nature 只有 Create、Review 和 Coordinate。
  • 按列、团队、团队团队、客户分组并汇总小时数。
  • 然后根据上述组计算创建、审查和协调的百分比。
  • 最后我需要输出列 Team、TeamTeam、Client、%Create、%Review 和 %Coordinate。

提前致谢。 在此处输入图片说明

您可以使用where子句进行过滤,然后使用group bysum 要计算百分比,一种直接的方法是avg()和条件聚合。

select team, client, sum(hours) sum_hours,
    avg(case when nature = 'create'     then 100.0 else 0 end) percent_create,
    avg(case when nature = 'review'     then 100.0 else 0 end) percent_review,
    avg(case when nature = 'coordinate' then 100.0 else 0 end) percent_coordinate
from mytable
where nature in ('create', 'review', 'coordinate')
group by team, client

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM