0
(PHP中的SQL查询)sql查询从每个玩家选择最佳结果?
$sqlAS = "SELECT * FROM results, players WHERE results.codeplayer=players.codeplayer GROUP BY results.codeplayer ORDER BY points Desc, time Asc ";
我希望查询生产只为每个玩家(分贝对每个球员的几个结果)最好的结果列表。
它正常工作,除了我得到的最好的结果为每个玩家点,但不是最好的时间排序,然后也反映在排序的SQL
的一部分。例如,如果约翰有以下结果
400 points 5:00 time // in minutes
400 points 4:00 time
500 points 5:00 time
500 points 4:00 time
300 points 2:00 time
我得到
John - 500 points - 5:00
,但我需要
John - 500 - 4:00
这是约翰用最少的时间得分最好的结果。我想"ORDER BY points Desc, time Asc"
会负责这一点。
看来,GROUP BY
放入点的最佳结果,先不管时间
任何想法?
哇,我用Google搜索,发现有类似的加盟查询字符串,这些是远远高于我级别,真是令人困惑。例如,我不知道res_max的来源,以及为什么min(r.'time')用引号或为什么“结果r”?导致en错误。希望有一个更简单的方法。谢谢 – MarkBaldou
res_max是派生表的名称:'(从结果中选择codeplayer,max(points)作为点)res_max'。我把反引号放在一段时间,以免它与mysql TIME方法冲突。你可能会尝试删除它们(我甚至不知道是否有列称为时间,并且无论如何你都需要提供表格结构(字段名称和类型)以获得更好的答案)。 – Ashalynd