如何解决多行过滤器并计算百分比
enter image description here我是sql的新手。我正在处理一个需要过滤然后计算百分比的数据库。下面是示例表。 遵循的步骤:
- 第一个过滤器的“列性质”,仅具有“创建”,“查看”和“坐标”。
- 按专栏,团队,TeamTeam,客户分组并汇总时间。
- 然后根据上述组计算创建,审核和协调的百分比。
- 最后,我需要输出列Team,TeamTeam,Client,%Create,%Review和%Coordinate。
先谢谢了。 enter image description here
解决方法
您可以使用where
子句进行过滤,然后使用group by
和sum
。要计算百分比,一种简单的方法是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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。