如何解决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
);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。