如何计算SQL中两个项目的总体百分比?

时间:2017-04-13 11:12:28

标签: sql sql-server sql-server-2008 aptitude

我有两个A队和B队。一名队员将输入记录。 B团队成员将评估记录。每个团队都有自己的每日目标,例如A的每日目标是30个条目,B的每日目标是60个评估。 因此,在某些情况下,A或B团队成员可能同时完成这两项工作。在此期间,我们应该如何计算100%的总体百分比?

明确地说,一个团队成员在30个条目(目标)中完成了15个条目,然后他的个人成就百分比为50%。同样的逻辑也适用于B团队成员。我能够计算个人团队成员的成就百分比。

但是,如果来自任何团队的人都在处理这两件事情。我不能总结它们或做平均值,因为两者都在做不同的工作。 SQL Structure 你能帮我解决SQL中的任何建议或公式吗?

我可以编写查询来计算百分比(如果是单个),例如。在图片中你可以观察第一个案例,在那里我可以计算百分比,因为那个人只进入,所以他的目标是30.然后成就百分比将是02 * 100/30%。同样适用于第二个10 * 100/60%。我遇到了第三种情况,即用户执行不同的操作。 我该如何计算他的整体百分比?请建议。

1 个答案:

答案 0 :(得分:1)

如果我真的了解你想要什么,请尝试下一个代码:

use [your_db_name];

create table dbo.test17
(
    [user] int null,
    [date] datetime null,
    records_entered int not null,
    records_evaluated int not null
);

insert into dbo.test17
values (1, '2017-04-17', 2, 0), (2, '2017-04-17', 0, 10), (3, '2017-04-17', 5, 20)

select 
    [user],
    [date],
    (sum(records_entered) * 2 + sum(records_evaluated)) * 100.0 / 60 as target
from dbo.test17
group by
    [user]
    ,[date]