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