1

我有一个排名表,包含不同等级的分数:

(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

我试图进行一个使用UPDATEas well的查询,DENSE_RANK但我不知道如何使它工作。

4

1 回答 1

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 是别名。

于 2013-03-25T11:38:31.213 回答