当前位置: 首页 > 知识库问答 >
问题:

计算每个员工的薪资百分比

郝池暝
2023-03-14
ID  Name     Age    Salary  running_total   Percentage
1   Abe      61     140000  140000             0
2   Bob      34     44000   184000             0
5   Chris    34     40000   224000             0
7   Dan      41     52000   276000             0
8   Ken      57     115000  391000             0
11  Joe      38     NULL    391000             NULL

我想要工资的百分比栏为(工资/总工资)*100。

我试过这个,但它总是给0。

  Select [ID]
      ,[Name]
      ,[Age]
      ,[Salary], Sum(Salary) Over(order by Id) As running_total, [Salary]/Sum(Salary)  Over() as Percentage
  From [Company].[dbo].[SalesPerson]

我甚至不会应用乘法运算。查询给出了应用乘以100时的错误。

Incorrect syntax near the keyword 'Over'.

共有2个答案

鄢松
2023-03-14
 Select [ID]
      ,[Name]
      ,[Age]
      ,[Salary]
      ,Sum(Salary) Over(order by Id) As running_total
      ,CAST([Salary] as decimal(18,2)) * 100 / Sum(Salary) Over() as Percentage
  From [Company].[dbo].[SalesPerson]
黄元章
2023-03-14

因为除法的结果总是小于1,所以除非乘以100.0才能看到它们。此外,您还应该使用coalesce处理null值。

Select [ID]
      ,[Name]
      ,[Age]
      ,[Salary], Sum(coalesce(Salary,0)) Over(order by Id) As running_total, 
      100.0*coalesce([Salary],0)/Sum(coalesce(Salary,0))  Over() as Percentage
  From [Company].[dbo].[SalesPerson]
 类似资料:
  • 公共静态员工getEmployeeDetails()--它获取员工的详细信息-id、姓名和工资,并返回Employee对象。 public static int getpfpercentry()-它获取PF百分比并返回相同的 在main方法中调用上述两个方法,然后调用Employee类中的calculateNetSalary方法并打印输出,如下所示。 输入ID:101输入姓名:Vivek输入工资:

  • 问题内容: 我需要获得fname,lname,比平均工资低400.00美元的员工薪水,即使在加薪10%之后。 我能够使薪水低于平均薪水的员工,但不确定如何使加薪后的薪水低于400美元的员工。 我正在使用MySQL。谢谢你。 这给了我工资低于平均工资的员工: 我当时在想这样的事情,但这是行不通的。未知专栏新闻: 问题答案: 您有一个正确的想法,就是不能在这样的子句中使用别名。只需直接使用公式,就可以

  • 问题内容: 我正在尝试从DataFrame计算列中每个值的百分位数。 有没有更好的方法来编写以下代码? 我希望看到更好的性能。 问题答案: 似乎您想要: 性能:

  • SQL:我有一个在StartTime和EndTime列中包含员工工作时间的表。我想计算每个员工每天的工作时间,即使员工在一天开始轮班,第二天结束。

  • 问题内容: 我有4个项目MySQL数据库:(数值),和。 在我的报告中,我需要通过“调查”中的数字来计算已参加调查的“雇员”的百分比。 这是我现在的声明: 表格如下: 我想按参加调查的人数来计算谁所占的百分比。即,如以上数据所示,分别为0%和95%。 问题答案: 尝试这个 在这里演示

  • 我有一个包含4个项的MySQL数据库:(数值)、、和。 在我的中,我需要根据“surveys”中的数字来计算接受调查的“employees”的百分比。 这就是我现在的说法: 下面是表格的原样: 我想根据中的数字计算参加调查的的百分比。即,如上面的数据所示,将为0%,将为95%。