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'.
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]
因为除法的结果总是小于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。谢谢你。 这给了我工资低于平均工资的员工: 我当时在想这样的事情,但这是行不通的。未知专栏新闻: 问题答案: 您有一个正确的想法,就是不能在这样的子句中使用别名。只需直接使用公式,就可以
SQL:我有一个在StartTime和EndTime列中包含员工工作时间的表。我想计算每个员工每天的工作时间,即使员工在一天开始轮班,第二天结束。
问题内容: 我正在尝试从DataFrame计算列中每个值的百分位数。 有没有更好的方法来编写以下代码? 我希望看到更好的性能。 问题答案: 似乎您想要: 性能:
问题内容: 我有4个项目MySQL数据库:(数值),和。 在我的报告中,我需要通过“调查”中的数字来计算已参加调查的“雇员”的百分比。 这是我现在的声明: 表格如下: 我想按参加调查的人数来计算谁所占的百分比。即,如以上数据所示,分别为0%和95%。 问题答案: 尝试这个 在这里演示
我有一个包含4个项的MySQL数据库:(数值)、、和。 在我的中,我需要根据“surveys”中的数字来计算接受调查的“employees”的百分比。 这就是我现在的说法: 下面是表格的原样: 我想根据中的数字计算参加调查的的百分比。即,如上面的数据所示,将为0%,将为95%。