0

我正在 Access 中为棒球相关的统计数据创建一个数据库(模式)。对于初学者,我想创建一个查询,该查询将对每个团队在某个统计数据中的排名进行排名。例如,我想查看一个团队相对于其他团队在获胜方面的排名。

对于初学者,我有一个带有列队的表格排名,以及 W 或

Standings
 Teams     W

我有一个可以创建排名的查询...但结果很奇怪

  SELECT Standings.Teams, Standings.W, ((SELECT Count(*) FROM Standings AS Temp 
WHERE Temp.W >= Standings.W ) AS Wins_Rank
    FROM Standings
    ORDER BY Standings.W;

前几个结果看起来像这样

Teams    W   Win_Rank
Texas    29    2
St.Louis 29    2
NewYork  28    4  
Cincinnati 28  4
Atlanta   27   7
Pittsburg 27   7
Boston    27   7

我觉得它应该更像是 1,1,3,3,5,5,5 不是吗?有什么帮助吗?

4

1 回答 1

2

我认为您可以将其更改为:

SELECT Standings.Teams, Standings.W,
       (SELECT Count(*)+1
        FROM Standings AS Temp 
        WHERE Temp.W > Standings.W
       ) AS Wins_Rank
FROM Standings
ORDER BY Standings.W;

注意不等式的变化。数大的数,然后加 1。

于 2013-05-22T15:45:58.357 回答