2017-04-13 103 views
1

我有兩個團隊A和B.一個團隊成員將輸入記錄。 B隊員將評估記錄。每個團隊都有自己的日常目標,比如A的每日目標是30個條目,B的每日目標是60個評估。 因此,在某些情況下,A或B團隊成員可能會完成這兩項工作。那麼,我們應該如何計算總體百分比與100%?如何計算SQL中兩個項目的總體百分比?

明確地說,可以說一個團隊成員在30個條目(目標)中完成了15個條目,那麼他的個人成就百分比是50%。同樣的邏輯也適用於B團隊成員。我能夠計算出個人隊員成就比例。

但是如果來自任何團隊的人都在這兩件事上工作,該怎麼辦?我不能總結他們,或者做平均,因爲他們都在做不同的工作。 SQL Structure 你們可以幫我解決SQL中的任何建議或公式嗎?

我能夠編寫查詢計算百分比,如果它的單一,例如。在圖片中你可以觀察到第一個案例,在那裏我可以計算出百分比,因爲這個人只進入了,所以他的目標是30.然後成就百分比是02 * 100/30%。同樣適用於第二個10 * 100/60%。在用戶執行兩種不同操作的第三種情況下,我感到非常震驚。 我應該如何計算他的整體比例?請建議。

+6

什麼是你的輸入表結構?和預期的產出?你有什麼設計和嘗試? –

+0

添加一些示例表格數據和預期結果 - 以及格式化文本。同時向我們展示您當前的查詢嘗試。 – jarlh

+0

高層次,您只需查找一份工作的百分比加上另一份工作的百分比。 – phatfingers

回答

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] 
+0

謝謝!得到了邏輯! –