[英]Access SQL Query Top 1 of Group
我正在尝试编写一个查询来选择每个数据组中的顶部记录。
例如下面
分配 | 团队 | 积分 |
---|---|---|
1 | 利物浦 | 90 |
1 | 曼彻斯特 | 88 |
2 | 利兹 | 94 |
2 | 兵工厂 | 77 |
3 | 博尔顿 | 66 |
3 | 马刺队 | 72 |
3 | 德比 | 33 |
我希望我的查询返回每个部门中得分最高的团队:
分配 | 团队 | 积分 |
---|---|---|
1 | 利物浦 | 90 |
2 | 利兹 | 94 |
3 | 马刺队 | 72 |
我认为这应该很容易。
有任何想法吗?
谢谢
在 MS Access 中,您可以使用:
select t.*
from t
where t.points = (select max(t2.points)
from t t2
where t2.division = t.division
);
如果有平局,则返回所有匹配的团队。 如果即使有平局,您也只想要一支球队:
select t.*
from t
where t.team = (select t2.team
from t t2
where t2.division = t.division
order by t2.points desc, t2.team
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.