首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据薪资和薪资类型计算每个员工的薪资百分比

根据薪资和薪资类型计算每个员工的薪资百分比
EN

Stack Overflow用户
提问于 2021-05-14 21:31:03
回答 1查看 40关注 0票数 0

我需要帮助根据工资类型和发薪期来计算每个雇员的工资百分比。

我有如下数据

代码语言:javascript
复制
ID  date               type         gw  
359 2015-03-28          R           1563.79     
359 2015-04-04          M           11.41       
359 2015-04-04          R           1563.79     
359 2015-04-11          M           11.41       
359 2015-04-11          R           1563.79     
359 2015-04-18          M           11.41       
795 2018-01-12          C           2382.39     
795 2018-01-12          M           3.72        
795 2018-01-12          R           3269.23     
795 2018-01-26          C           1437.74     
795 2018-01-26          M           3.72        
795 2018-01-26          R           3269.23     

当我运行以下查询时,结果如下所示

代码语言:javascript
复制
select id,date,type,gw,payPercentage=SUM(gw) * 100.0 / SUM(SUM(gw)) OVER ()
from pw_part
where id in ('359',795)
group by ssn,client_id,date,type,gw
代码语言:javascript
复制
ID  date                type         gw         payPercentage
359 2015-03-28          R           1563.79         0.133187
359 2015-04-04          M           11.41           0.000971
359 2015-04-04          R           1563.79         0.133187
359 2015-04-11          M           11.41           0.000971
359 2015-04-11          R           1563.79         0.133187
359 2015-04-18          M           11.41           0.000971
795 2018-01-12          C           2382.39         0.891623
795 2018-01-12          M           3.72            0.001392
795 2018-01-12          R           3269.23         1.223528
795 2018-01-26          C           1437.74         0.538082
795 2018-01-26          M           3.72            0.001392
795 2018-01-26          R           3269.23         1.223528

我想要的结果应该是

代码语言:javascript
复制
ID  date                type        gw          payPercentage
359 2015-03-28          R           1563.79         100
359 2015-04-04          M           11.41          .72            
359 2015-04-04          R           1563.79         99.27         
359 2015-04-11          M           11.41           .72           
359 2015-04-11          R           1563.79         99.27         
359 2015-04-18          M           11.41           100
795 2018-01-12          C           2382.39         42.12         
795 2018-01-12          M           3.72            .06           
795 2018-01-12          R           3269.23         57.80         
795 2018-01-26          C           1437.74         30.52         
795 2018-01-26          M           3.72            .07           
795 2018-01-26          R           3269.23         69.4          

我怎样才能得到理想的结果?

请注意:我有数以百万计的ID和数百个日期,这里我提供了两个ID作为示例,以简化

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-14 21:38:51

我想你希望每天的金额加起来(大概每个id也是如此)。这将是:

代码语言:javascript
复制
select p.*,
       gw * 100.0 / sum(gw) over (partition by id, date) as pay_percentage
from pw_part p;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67541152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档