1

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

明确地说,假设 A 团队成员完成了 30 个条目中的 15 个条目(目标),那么他的个人成就百分比是 50%。同样的逻辑也适用于 B 团队成员。我能够计算单个团队成员的成就百分比。

但是,如果来自任何团队的人同时从事这两件事会怎样。我无法总结它们或做平均,因为两者都在做不同的工作。 SQL 结构 你们能帮我提供 SQL 中的任何建议或公式吗?

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

4

1 回答 1

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]
于 2017-04-13T20:46:11.627 回答