mysql - 根据每个任务的最佳提交动态计算用户积分
问题描述
我正在为竞争性编程制作一个竞赛管理系统。
将有大约 100 个任务,最坏的情况是每个用户将为每个任务发布大约 10 个提交。
每次提交都会给你一些分数,但只有在每项任务中得分最高的那个才算数。
现在我必须实现一个排名系统,但我不知道如何计算他们的分数并根据他们对每项任务的最佳提交的总和进行动态排序。
这是我的表:
任务:id 名称 max_points
用户:id 用户名 密码
提交:id任务用户积分
我唯一的想法是在 users 表中添加一个新的 total_points 字段,并制作另一个表以包含每个任务的最佳提交,如果他们想按特定任务而不是全局排序。
任何建议都会很棒。
解决方案
推荐阅读
- javascript - 当元素由脚本动态生成并通过类选择器访问时,如何在Jquery中调用click事件的函数?
- python - 在 jupyter notebook 中使用 4.4.1 版本进行 plotly 升级
- java - 改造响应正文为空,但状态码为 200
- mysql - 如何使用 helm 3.0 安装 mysql ha
- android - 在无头模式下获取本地化字符串
- python - 根据python中pandas数据框的多列条件选择值
- bash - 使用 wget 将 bash 别名从存储库添加到远程服务器
- c++ - 存储另一个函数返回的布尔数组时遇到问题
- javascript - 未捕获的语法错误:无法在具有 OpenLayers 的模块外部使用 import 语句
- c++ - 可以(重新)分配来自不同容器的迭代器吗?