我有一个排名表,其中包含不同级别的分数:
(R) Rankname: string, name of the rank
(ID) PlayerID: foreign key(int)
(S) Score: integer, higher score means higher endrank
(P) Position: integer, representing the location in the rank
更新前:
R ID S P
'a' 0 5 "undefined"
'a' 1 10 "undefined"
'a' 2 15 "undefined"
'b' 0 5 "undefined"
'b' 1 10 "undefined"
'b' 2 10 "undefined"
'b' 3 15 "undefined"
更新后:
'a' 0 5 3
'a' 1 10 2
'a' 2 15 1
'b' 0 5 3
'b' 1 10 2
'b' 2 10 2
'b' 3 15 1
我尝试使用UPDATE
以及DENSE_RANK
进行查询,但我无法弄清楚如何使其发挥作用。
答案 0 :(得分:3)
这取决于创建查询以计算不同的记录,在此示例中,此查询称为qry。要更新您的表格,您可以说:
UPDATE MyTable
SET MyTable.P =
DCount("*","qry","s<=" & [MyTable].[s] & " and r=""" & [MyTable].[r] & """");
还有一点需要注意,这是qry:
SELECT DISTINCT z.r, z.s
FROM MyTable AS z;
MyTable是别名。