簡體   English   中英

MS Access:在SQL查詢中查找每個組的頂部

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM