MS access - 递增地对等值进行排名

MS access - ranking equal values incrementally

是否可以在 Access 中对重复值赋予增量排名的记录进行排名(如 SQL 服务器中的 row_number 函数)?

我想对以下记录集进行排名:

ID     Type    Score
1      Team1   4
1      Team2   2
1      Team3   1
1      Team4   1

我目前的查询:

select *
from tbl as tbl1 
where tbl1.ID in 
(  select top 3 Type
   from tbl as tbl2
   where tbl2.ID = tbl1.ID
   order by tbl2.Score )

排名如下

ID     Type    Score    Rank
1      Team1   4        1
1      Team2   2        2
1      Team3   1        3
1      Teams   1        3

我需要这样对它们进行排名:

ID    Type     Score    Rank
1      Team1   4        1
1      Team2   2        2
1      Team3   1        3
1      Team4   1        4

这可以在 Access 中完成吗?

编辑: 排名也需要分组

更大的数据样本和我想在派生列中表示的内容,一些 ID 的记录比其他 ID 多:

ID    Type     Score    Rank
1     Team1    4        1
1     Team2    2        2
1     Team3    1        3
1     Team4    1        4
2     Team1    2        1
2     Team3    2        2
2     Team2    1        3
4     Team1    4        1
4     Team3    4        2
4     Team5    3        3
4     Team4    1        4
4     Team2    1        5

最终我想 select 每个 ID 的前 3 行

在两个条件聚合计数子查询上使用差分方程考虑此解决方案。 Tiebreaker 使用拼音顺序 Type:

SELECT tbl.ID, tbl.Type, tbl.Score,
   (SELECT Count(*) FROM tbl sub WHERE sub.ID = tbl.ID
    AND sub.Score >= tbl.Score ) 
    -
   (SELECT Count(*) - 1 FROM tbl sub WHERE sub.ID = tbl.ID
    AND sub.Type >= tbl.Type
    AND sub.Score = tbl.Score) As [Rank]

FROM tbl
ORDER BY ID, Score DESC, Type;