SQL查询 - 远远超出我的范围

时间:2015-12-15 19:24:09

标签: mysql sql

我正在开设一个赛车系列网站,我们会在赛季期间进行统计,我想尝试在查询中加入打破平局的细节,而不是在PHP中构建逻辑。

表格结构:

users
---------------------
user_id
first_name
last_name

user_races
---------------------
ur_id
user_id
race_id

user_race_classes
---------------------
ur_id
class_id
points_earned

目前我们只进行了4场比赛,所以我没有必要实施查询的“前4名”部分(这是一个志愿者职位,我没有太多时间),但这里是我的当前查询:

SELECT SUM(urc.points_earned) as total_points,
u.first_name,
u.last_name,
u.user_id,
ur.ur_id
FROM user_race_classes urc
LEFT JOIN user_races ur ON urc.ur_id = ur.ur_id
LEFT JOIN users u ON ur.user_id = u.user_id
LEFT JOIN classes c ON urc.class_id = c.class_id
WHERE ur.race_id IN (SELECT race_id FROM races WHERE season_id = :season_id && start_date < NOW()) && urc.class_id = :class_id
GROUP BY u.user_id
ORDER BY total_points DESC

只有你的前4名成绩被计算在中(8场比赛中),这是关于打破破坏者规则的实际措辞:

如果总分数达到平局,则将通过计算您的总分数(2013年将是4场比赛)计算您的总分数来计算您的比赛胜利总数来确定决胜局;然后第二名完成,依此类推,直到领带被打破。在不太可能发生的情况下,平局继续下降到最后一场比赛,计入总分数,比较总计得分的下一个最高结束比赛,然后是下一个最高结束等等。 < / p>

任何人都可以提供任何关于学习或研究的建议,以试图用MySQL严格完成这项工作吗?

编辑:可在此处查看数据:

http://www.wcics.ca/standings.php

干杯

0 个答案:

没有答案