SQL數據庫中有一個表,名爲Players: 玩家(ID,姓名,年齡,性別,分數) 其中ID是主鍵。如何查找以下SQL查詢?
現在我想寫一條查詢來查找下面的結果: 對於每個年齡段,查找這個年齡段所有玩家中得分最高的玩家的名字和年齡。
我寫了下面的查詢:
SELECT P.name, P.age
FROM Players P
WHERE P.score = (SELECT MAX(P2.score) FROM Players P2)
GROUP BY P.age, P.name
ORDER BY S.age
然而,上述查詢的結果是玩家在所有年齡段的所有玩家,不是每個年齡段中的最高分數的列表。
然後,我改變了我的查詢到以下幾點:
SELECT P.name, P.age, MAX(P.score)
FROM Players P
GROUP BY P.age, P.name
ORDER BY P.age
不過,我寫的第二個查詢給人的球員,每個年齡列表,但每個年齡段,不僅有最高的玩家得分,還有其他球員在這個年齡組內得分較低。
我應該如何解決我的邏輯/查詢代碼?
謝謝!
我明白了,現在效果很好,謝謝! – user118464