微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Access SQL Query Top 1 of Group

如何解决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 举报,一经查实,本站将立刻删除。