问题描述
有一个叫做"RANK.EQ"的功能。或EXCEL工作表中的"ORDEM.EQ"(葡萄牙语)。你能为ACCESS创建一个等效的函数吗?
There is a funcion called "RANK.EQ" or "ORDEM.EQ"(in Portuguese) at EXCEL Worksheets. Can you create an equivalent function for ACCESS?
推荐答案
假设你有一个带MyField字段的MyTable表。您可以在基于MyTable的查询中计算MyField的等级。添加计算列:
Let's say you have a table MyTable with a field MyField. You can computer the rank of MyField in a query based on MyTable. Add a calculated column:
等级:DCount("*","MyTable","[MyField]>"& [MyField])+ 1
Rank: DCount("*","MyTable","[MyField]>" & [MyField])+1
或
等级:(SELECT T.Count(*)FROM [MyTable] AS T WHERE T. [Myfield]> [MyTable]。[ MyField])+ 1
Rank: (SELECT T.Count(*) FROM [MyTable] AS T WHERE T.[Myfield]>[MyTable].[MyField])+1
这是按降序排列(最大值的等级为1)。如果您想按升序排名,请更改>到<。
This is for ranking in descending order (the largest value has rank 1). If you want to rank in ascending order, change > to <.