【发布时间】:2022-01-19 04:16:57
【问题描述】:
我有两张桌子,一张是奖品桌,一张是结果桌
奖品表
pm_id pm_fromrank pm_torank pm_prize pool_id
1 1 1 1000 72
2 2 5 500 72
3 6 10 270 72
RESULT TABLE 有 3 种类型的排名情况 第一个案例
rs_id rs_userid rs_rank rs_poolid
1 131 1 72
2 132 1 72
3 133 2 72
4 134 3 72
5 135 4 72
6 136 5 72
7 137 6 72
8 138 6 72
9 139 7 72
10 140 8 72
11 141 9 72
12 142 10 72
第二个案例
rs_id rs_userid rs_rank rs_poolid
1 131 1 72
2 132 2 72
3 133 3 72
4 134 4 72
5 135 5 72
6 136 6 72
7 137 7 72
8 138 8 72
9 139 9 72
10 140 10 72
11 141 11 72
12 142 12 72
第三个案例
rs_id rs_userid rs_rank rs_poolid
1 131 1 72
2 132 2 72
3 133 3 72
4 134 4 72
5 135 5 72
6 136 6 72
7 137 7 72
8 138 8 72
9 139 9 72
10 140 10 72
11 141 10 72
12 142 10 72
now i have to distribute price only first 10 user in ascending order in following ways
1ST CASE PRIZE DISTRIBUTION
rs_id rs_userid rs_rank rs_poolid pricemoney
1 131 1 72 750
2 132 1 72 750
3 133 2 72 500
4 134 3 72 500
5 135 4 72 500
6 136 5 72 270
7 137 6 72 270
8 138 6 72 270
9 139 7 72 270
10 140 8 72 270
11 141 9 72 0
12 142 10 72 0
第二个案例奖金分配
rs_id rs_userid rs_rank rs_poolid pricemoney
1 131 1 72 1000
2 132 2 72 500
3 133 3 72 500
4 134 4 72 500
5 135 5 72 500
6 136 6 72 270
7 137 7 72 270
8 138 8 72 270
9 139 9 72 270
10 140 10 72 270
11 141 11 72 0
12 142 12 72 0
第三个案例奖品发放
rs_id rs_userid rs_rank rs_poolid pricemoney
1 131 1 72 1000
2 132 2 72 500
3 133 3 72 500
4 134 4 72 500
5 135 5 72 500
6 136 6 72 270
7 137 7 72 270
8 138 8 72 270
9 139 9 72 270
10 140 10 72 90
11 141 10 72 90
12 142 10 72 90
注意:- 奖品表和结果表与 POOL_ID 有关系 我必须使用mysql和codeignitor根据排名找到奖品分布
【问题讨论】:
-
奖金分配的算法是绝对不清楚的,除了相同等级组的用户(第 1 名平局、前 5 名平局、前 10 名)的用户必须获得相等的金额。请明确和完整地制定这个算法。考虑第 10 位和第 11 位用户排名相同的情况。
-
是的,如果第一名有 10 个平局,那么所有奖金将得到总和并除以第一名的 10 位用户,但在 10 人之后将不再分配奖金
-
不要评论我的猜测。编辑问题并添加完整算法描述。 10人后不发放奖品 假设11个用户排名相同,即为最高。这 11 位用户中,哪些用户将被剥夺奖品,为什么?
-
我认为您无法理解我已经提到的问题,如果第 11 位用户具有相同排名,则只有前 10 位用户将获得奖品,但奖品将仅分配给排名前 10 位的人,但现在奖金总额将除以10人
-
在上面的问题中,我们需要考虑两件事,首先是具有相同等级和主键的用户,以便我们只分配前 10 人的奖品
标签: mysql codeigniter