SQL2005 Rank()的问题 20CSDN]

发布时间:2014-1-1 0:09:54编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"SQL2005 Rank()的问题 20CSDN]",主要涉及到SQL2005 Rank()的问题 20CSDN]方面的内容,对于SQL2005 Rank()的问题 20CSDN]感兴趣的同学可以参考一下。

Select Student,Sum(Result) as Total,Rank() OVER(ORDER BY Sum(Result) Desc) AS Rank From S_Results Where Exam = '12' And School = '1' GROUP BY Student 无错,返回 Student Total Rank 46 595 1 44 585 2 45 555 3 47 515 4 如果我想单独返回Student为45的那一行记录,又要保持Rank()返回的排名(因为RANK计算排名的取例范围是在查询结果内) 如果 Select Student,Sum(Result) as Total,Rank() OVER(ORDER BY Sum(Result) Desc) AS Rank From S_Results Where Exam = '12' And School = '1' And Student = '45' GROUP BY Student 的话, RANK就不是3而是1了 如果这样 Select * From (Select Student,Sum(Result) as Total,Rank() OVER(ORDER BY Sum(Result) Desc) AS Rank From S_Results Where Exam = '12' And School = '1' GROUP BY Student) Where Student = '45' 就会报错, 因为子查询中是不能有ORDER BY的,但是Rank()必须指定ORDER BY 求解,在线等...

having

Select * From (Select Student,Sum(Result) as Total,Rank() OVER(ORDER BY Sum(Result) Desc)  AS Rank From S_Results Where Exam = '12' And School = '1' GROUP BY Student) a  Where Student = '45'


上一篇:以后在SQL Server中编程Stored Procedure的参数传递是不只需要一个XML文件就可以,不用定义那么多花里胡哨的DateTime,Varchar等等 0CSDN]
下一篇:reporting services 2005 20being21]

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款