【发布时间】:2018-05-04 10:53:08
【问题描述】:
我在以下链接中提出了一个问题,其中一位成员帮助我解决了大部分问题(计算列 t 和列 pre_score)。但我需要再计算一列。我在以下链接中解释了详细信息。
总之,如何使用 t 列和 pre_score 列计算智力资本列?智力资本列考虑所有以前比赛的预分,然后将每个预分乘以 e^(从该比赛过去的天数/500)。在这个例子中,对于每个用户,我们最多有 2 场之前的比赛,但在我的数据集中,它可能甚至超过 200 场比赛,因此我需要有一个查询来考虑比赛的所有分数和每场比赛的时间。 --> e 的值约为 2.71828
competitionId UserId t pre_score intelectual-capital
1 100
2 100 -4 3000 3000* POWER (e, -4/500)
3 100 -5 4000 3000*POWER(e,-9/500) + 4000*POWER(e, -5/500)
1 200
4 200 -19 3000 3000*POWER(e,-19/500)
1 300
3 300 -9 3000 3000*POWER(e,-9/500)
4 300 -10 1200 3000*POWER(e,-19/500)+ 1200*POWER(e,-10/500)
1 400
2 400 -4 3000 3000* POWER(e, -4/500)
3 400 -5 4000 3000* POWER(e, -9/500) + 4000*POWER(e,-5/500)
【问题讨论】:
-
请解释
POWER(e的含义。e是什么? -
@Used_By_Already e 是一个数学常数,大约等于 2.71828。例如 Power(e,2) = 2.71828*2.71828 = 7.39
-
我对 SQL Server 有非常基本的了解,您给我的帮助非常有用,我不知道该如何感谢您。抱歉,如果我有太多问题打扰您,但我需要找到正确的列才能在我的分析中使用它。
-
那个问题(“什么是 e?”)在前面的问题中丢失了。有了这个缺失值,再加上公式中的一个小调整,我相信它现在正在产生预期值。
-
@Used_By_Already 你是对的。我写了太多的cmets,重要的答案在cmets中间丢失了。对不起
标签: select group-by sum sql-server-2016 row-number