想要计算最高薪酬价值?

时间:2015-04-26 05:30:34

标签: mysql sql

我想要一份员工名单 已经开展了总薪酬最高的活动。

不要使用代码,例如......其中actid = 151 ... ect

•注意:活动的总工资是(工作总时数*匹配的总和) 每小时收费) (例如,活动总薪资151为10.5小时@ $ 50.75 + 11.5小时@ $ 25 + 3小时@ $ 33,)

您必须在您的子查询中使用子查询 解。

ACTID   HRSWORKED   HOURLYRATE  Total Pay
163     10             45.5     455
163     8              45.5     364
163     6              45.5     273
151     5              50.75    253.75
151     5.5            50.75    279.125
155     10             30       300
155     10             30       300
165     20             25       500
155     10             30       300
155     8              27       216
151     11.5           25       287.5
151     1              33       33
151     1              33       33
151     1              33       33

你非常感激时间和精力。谢谢!!

1 个答案:

答案 0 :(得分:0)

在不了解架构的情况下,我只能提供一个可能的草图(你必须计算总薪水并提供所有必要的JOIN和谓词):

SELECT DISTINCT(employee id) -- reconfigure if more then just employee id
FROM <table(s)> 
[WHERE...]
{ WHERE | AND } total pay = (SELECT MAX(total pay) 
                             FROM <table(s)>
                             [WHERE...]);

我使用了DISTINCT,因为可能有多个具有相同MAX值和重叠员工的活动。如果您在输出中包含ACTID,那么您将不需要DISTINCT,因为同一个员工不应该在项目上两次(除非他们被项目中的角色跟踪,在这种情况下单个员工可能有多个角色 - 这一切都取决于数据集。