[英]MS Access: Finding the top of each group in an SQL query
在我的表中,我有四列。
我有一個球員姓名,身份證,年齡和分數。
ID | Player Name | Age | Score
------------------------------
0 | James | 24 | 20
1 | Carly | 24 | 25
2 | Matt | 24 | 19
3 | Jess | 26 | 35
4 | Jimmy | 26 | 32
5 | Tom | 27 | 19
6 | Brian | 27 | 25
我需要寫一個查詢來找到每個年齡段的頂級玩家,但我很難過。 我已經嘗試對兩者進行排序並使用Max()函數,我嘗試手動循環遍歷值以找到頂部,但無濟於事。
這是我期望的那種結果:
ID | Player Name | Age | Score
------------------------------
1 | Carly | 24 | 25
3 | Jess | 26 | 35
6 | Brian | 27 | 25
我很困惑,我相信有一個簡單的方法來實現這一目標。 謝謝。
解決此問題的一種方法是創建每個年齡段最大分數的內嵌視圖,然后加入其中
SELECT p.*
FROM players p
INNER JOIN (SELECT age,
Max(score) as mScore
FROM players
GROUP BY age) AS mp
ON p.age = mp.age
AND p.score = mp.mscore
你應該注意,如果有一個平局,每個年齡最多可以出現一個以上的記錄
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.