获取(elo)评级历史的SQL查询(图表,最高点等)

时间:2013-12-01 10:49:44

标签: mysql sql

我正在运行一个基于elo-rating的用户排名列表网站。

我想向用户提供更多统计信息,我已经覆盖了很多,但无法真正弄清楚如何对这些进行查询。

  1. 球员最高排名

  2. 玩家排名积分历史(图表)

  3. 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个值才能绘制历史记录线图,日期和排名点。

0 个答案:

没有答案