Access SQL查询组的前1名

Access SQL查询组的前1名,sql,ms-access,Sql,Ms Access,我试图编写一个查询,在每组数据中选择最上面的记录 如下图所示 分部 团队 要点 1. 利物浦 90 1. 曼彻斯特 88 2. 利兹 94 2. 兵工厂 77 3. 博尔顿 66 3. 马刺 72 3. 德比 33 在MS Access中,您可以使用: select t.* from t where t.points = (select max(t2.points) from t t2 where t2.division =

我试图编写一个查询,在每组数据中选择最上面的记录

如下图所示

分部 团队 要点 1. 利物浦 90 1. 曼彻斯特 88 2. 利兹 94 2. 兵工厂 77 3. 博尔顿 66 3. 马刺 72 3. 德比 33
在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
               );

在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
               );

如果可用,可以在按除法划分的分区和按秩排序上使用rank()?否则,您需要使用group by按分区查找顶点,并与表自联接以获取团队名称。谢谢,我不知道自连接是什么意思。你能帮我写SQL查询吗?它不能超过几行如果可以的话,你可以使用rank()代替按除法划分的部分和按秩排序的部分?否则,您需要使用group by按分区查找顶点,并与表自联接以获取团队名称。谢谢,我不知道自连接是什么意思。你能帮我写SQL查询吗?这只不过是几句台词汉克·戈登,太完美了。我几乎可以把我的头绕过去!那么请将答案标记为已接受。勾选答案。谢谢戈登,太好了。我几乎可以把我的头绕过去!那么请将答案标记为已接受。勾选答案。