Sql 使用它来报告,以便我们可以按预期格式打印?否。该函数采用Form参数。在报告中,这要容易得多;将排序从查询移动到报表,然后有一个值为1的文本框,并将其设置为运行总和。哦,就是这样运行求和是一个不错的选择。谢谢。当失败计数相同时,您的解决方案会给出重复的排名
Sql 使用它来报告,以便我们可以按预期格式打印?否。该函数采用Form参数。在报告中,这要容易得多;将排序从查询移动到报表,然后有一个值为1的文本框,并将其设置为运行总和。哦,就是这样运行求和是一个不错的选择。谢谢。当失败计数相同时,您的解决方案会给出重复的排名,sql,ms-access,Sql,Ms Access,使用它来报告,以便我们可以按预期格式打印?否。该函数采用Form参数。在报告中,这要容易得多;将排序从查询移动到报表,然后有一个值为1的文本框,并将其设置为运行总和。哦,就是这样运行求和是一个不错的选择。谢谢。当失败计数相同时,您的解决方案会给出重复的排名。我试过用failcount 2,2,2为3名学生进行测试,虽然他们的总数不同,但它为这3名学生提供了排名。对不起,我错了。WHERE子句中有一个拼写错误大于2,而不是大于0。修正了,并且删除了原来的IIf语句,因为这是多余的。现在它工作正常了
使用它来报告,以便我们可以按预期格式打印?否。该函数采用Form参数。在报告中,这要容易得多;将排序从查询移动到报表,然后有一个值为1的文本框,并将其设置为运行总和。哦,就是这样<代码>运行求和是一个不错的选择。谢谢。当失败计数相同时,您的解决方案会给出重复的排名。我试过用failcount 2,2,2为3名学生进行测试,虽然他们的总数不同,但它为这3名学生提供了排名。对不起,我错了。
WHERE
子句中有一个拼写错误大于2,而不是大于0。修正了,并且删除了原来的IIf
语句,因为这是多余的。现在它工作正常了!感谢您的努力。当失败计数相同时,您的解决方案将提供重复的排名。我试过用failcount 2,2,2为3名学生进行测试,虽然他们的总数不同,但它为这3名学生提供了排名。对不起,我错了。WHERE
子句中有一个拼写错误大于2,而不是大于0。修正了,并且删除了原来的IIf
语句,因为这是多余的。现在它工作正常了!谢谢你的努力。
SELECT rnk.*,
(select count(*) from tblResults as rnk2 where rnk2.gpa>0 and (rnk2.gpa>rnk.gpa or rnk2.gpa=rnk.gpa and rnk2.total>=rnk.total)) as ranking
FROM tblResults AS rnk
WHERE rnk.failcount=0
UNION SELECT rnk.*,
(select count(*) from tblresults as rnk2 where (rnk2.failcount<rnk.failcount and rnk2.failcount>0) or (rnk2.failcount=rnk.failcount and rnk2.total>rnk.total and rnk2.failcount>0))
+(select count(*) from tblresults as rnk2 where rnk2.failcount=0)+1
from tblresults as rnk
where failcount>0
=RecordNumber([Form])
select r.*,
(select count(*)
from tblResults as r2
where r2.failcount < r.failcount or
(r2.failcount = r.failcount and r2.gpa > r.gpa) or
(r2.failcount = r.failcount and r2.gpa = r.gpa and r2.total >= r.total)
) as result_expected
from tblResults as r