我有一个赠品,完成后,有一张球员和他们的得分表。另一方面,我有一个虚拟的钱罐,我想分配给这些获胜者。我正在寻找一个 SQL 查询或一段 C# 代码来执行此操作。
降序排序的表如下所示:
UserId | Name | Score | Position | % of winnings | abs. winnings $
00579 | John | 754 | 1 | ? | 500 $
98983 | Sam | 733 | 2 | ? | ?
29837 | Rick | 654 | 3 | ? | ? <- there are 2 3rd places
21123 | Hank | 654 | 3 | ? | ? <- there are 2 3rd places
99821 | Buck | 521 | 5 | ? | ? <- there is no 4th, because of the 2 3rd places
92831 | Joe | 439 | 6 | ? | ? <- there are 2 6rd places
99281 | Jack | 439 | 6 | ? | ? <- there are 2 6rd places
12345 | Hal | 412 | 8 | ? | ?
98112 | Mick | 381 | 9 | ? | ?
and so on, until position 50
98484 | Sue | 142 | 50 | ? | 5 $
注意双第 3 和第 6 名。
现在我想在前 50 个职位中分配(虚拟)资金总额(10,000 美元)。(如果分配的位置(现在是 50)可以是一个变量,那就太好了)。
最大和最小数量(对于 nr 1 和 nr 50)固定为 500 和 5。
有没有人对 SQL 查询或一段 C# 代码有一个好主意来正确地用获胜百分比 和绝对获胜 $填充列?
我更喜欢这样的分布看起来有点对数:(这使得较高的位置比较低的位置相对更多)。
.
|.
| .
| .
| .
| .
| .
| .
| .
| .