我从 SQL 查询得到以下输出:
Project_Manager_ID PROject_Rank On_boarding_Gap Project_Gap End_Gap
101 1 2 3 0.833
101 2 7 1 3.4
101 3 0 -3 0
101 4 3 1 1.2
102 1 -1 0 1
102 2 2 3 2
102 3 5 2 -3
这是业务规则:
当 Rank =1 时 On_boarding_gap
当 Rank >1 并且 Rank < (max(rank) group by Project_Manager_ID) 然后 Project_gap
当 Rank = max(rank) group by Project_Manager_ID 然后 End_Gap
添加所有这些不同的差距,并找到每个 Project_Manager_ID 的差距总值。忽略所有负值。因此在上面的例子中Project_Manager_ID =101
On_boarding_gap = 2
Project_gap = 1 & -3 = 1(忽略 -3 值)
End_Gap = 1.2
总差距为 (2+1 +1.2) = 4.2。
对于 Project_Manager_ID =102
On_boarding_gap =-1 = 0(忽略 -1 值)
项目差距 = 3
End_Gap = -3 = 0(忽略 -3 值)
总差距为 ( 0+ 3+0) = 3
我不确定如何为此编写查询。