繁体   English   中英

访问 SQL 查询组前 1

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM