我有一张比赛结果表,并获得积分。我想为每个玩家发布点数的SUM和点DESC的ORDER BY SUM。
要做到这一点,我需要获得所有结果,然后按LVID分组。问题是玩家LVID在表A或表B上。
这就是我的代码现在的样子:
SELECT p1.id, p2.id, SUM(tr.points)
FROM tournament_results tr
JOIN entries e ON tr.e_id = e.al_id
JOIN tournaments t ON tr.tournament_id = t.id
LEFT JOIN players_lv p1 ON e.player1_lvid = p1.id
LEFT JOIN players_lv p2 ON e.player2_lvid = p2.id
WHERE t.date_added < '2018-01-01' AND player1_lvid IS NOT NULL AND t.date < '2018-01-01'
GROUP BY p1.id
现在,我只是按p1.id分组。但实际上,我需要订购player1_lvid = ... OR player2_lvid。但最终的结果不仅仅是一排,而是所有球员。 (最终显示排名)