大家好我有一个简单的asp / access sql脚本,我想从一个名为投影得分的表中读取。使用名为raceday的字段输入分数。我在这个网站上找到了以下sql并对其进行了调整以匹配我的字段/表名。
SELECT tid ,tots,raceday, 1+ (SELECT COUNT(T1.tots)
FROM rankings AS T1
WHERE T1.tots >T2.tots) AS Rank FROM rankings AS T2
ORDER BY tid asc
我需要找到一种通过raceday过滤的方法并计算返回记录的等级。 以下代码返回raceday = 4的记录,但它计算所有记录的排名。
SELECT tid ,tots, raceday, 1+ (SELECT COUNT(T1.tots)
FROM projections AS T1
WHERE T1.tots >T2.tots) AS Rank FROM projections AS T2
where raceday = '4'
ORDER BY tid asc
当按照4条记录返回排名时,排名将为2,12,5,22
我希望它们是1,2,3,4
我还尝试了>之后的raceday ='4'语句。 t2.tots部分,但它返回所有记录
非常感谢任何帮助
答案 0 :(得分:0)
我找到了一个解决方案,我添加了raceday =?到主查询以及子查询
SELECT raceday,tid,tots,1 +(SELECT COUNT(T1.tots)
FROM投影AS T1
raceday =' 4'和T1.tots> T2.tots)AS排名来自预测AS T2
raceday =' 4'
ORDER BY raceday asc