Okay, so assuming you have a working query that returns the key field and your three ranks in this sort of layout:
Code:
Query: qryRanks
MyKey,
Rank1,
Rank2,
(Rank1 + Rank2)/2 AS RankAvg
Then this gives you your third rank
Code:
Query: qryRanks3A
SELECT
Q1.MyKey,
First(Q1.Rank1) As Rank1,
First(Q1.Rank2) As Rank2,
First(Q1.RankAvg) As RankAvg,
Count(Q2.MyKey) As Rank3
FROM
qryRanks AS Q1,
qryRanks AS Q2
WHERE
Q1.RankAvg <= Q2.RankAvg
GROUP BY Q1.MyKey;
or this should work as well:
Code:
Query: qryRanks3B
SELECT
Q1.MyKey,
Q1.Rank1,
Q1.Rank2,
Q1.RankAvg,
(SELECT Count(*) FROM qryRanks AS Q2
WHERE Q1.RankAvg <= Q2.RankAvg) AS Rank3
FROM
qryRanks AS Q1;
The second should be more efficient in this case.
You may need to flip the sign on the compare, if the resulting ranks are upside down.