时间:2021-07-01 10:21:17 帮助过:25人阅读
2.简单明了看到所有同学和自己班级成绩最好的做比较
select banji,name,score,max(score) over(partition by banji) avg_score from #studentSoure
相同的道理,上面的max也可以改成min,avg等
3.row_number()、rank()、dense_rank()方法的使用
--row_number() 则在排序相同时不重复,会根据顺序排序。
--rank()排序相同时会重复,总数不会变 ,意思是会出现1、1、3这样的排序结果;
--dense_rank() 排序相同时会重复,总数会减少,意思是会出现1、1、2这样的排序结果。
select banji,name,score,ROW_NUMBER() over(partition by banji order by score) avg_score from #studentSoure select banji,name,score,rank() over(partition by banji order by score) avg_score from #studentSoure select banji,name,score,dense_rank() over(partition by banji order by score ) avg_score from #studentSoure
SQL SERVER 的窗体函数OVER的使用:row_number/rank/dense_rank
标签:tool show splay 印象 student src from union com