我正在运行一个基于elo-rating的用户排名列表网站。
我想向用户提供更多统计信息,我已经覆盖了很多,但无法真正弄清楚如何对这些进行查询。
球员最高排名
玩家排名积分历史(图表)
MySQL db有两个统计表:ranking_statistics
,它包含整体统计信息:
id, ranking, wins, losses, draws, total6m, total8m, total10m
和ranking_matches
包含所播放比赛的统计信息:
id, home_id, away_id, home_ranking, away_ranking, home6m, away6m, home8m, away8m, home10m, away10m, datetime
以下是来自ranking_matches的一些示例数据:
46 442 456 30 -30 6 6 5 3 3 4 2013-10-14 21:22:58
54 456 480 34.0391 -34.0391 6 4 6 4 2 1 2013-10-16 17:33:37
55 473 475 30 -30 9 9 7 8 6 4 2013-10-17 03:06:41
和来自ranking_statistics:
442 1029.97 7 2 6 120 89 55
456 1003.93 6 2 5 99 84 65
我想在历史记录中检索玩家最高排名积分(ranking_statistics.ranking保持当前积分),并且可以通过查询所有与玩家ID为主页或离开的匹配来从ranking_matches中检索,然后计算记住最高分数的所有排名变化(起点是1000)。通过此查询,还将绘制点历史图表。
我试图了解这是如何完成的,但是我自己无法得到它并且似乎没有发布任何类似的问题(或者至少我没有发现任何问题)
结果也可以用PHP计算,因为所有数据都随之输出。
示例输出:
Player id: 442
Current rating: 1029.97
Highest rating: 1054.32 (on 10-23-2013)
对于历史图表,需要检索2个值才能绘制历史记录线图,日期和排名点。