SQL Server 分页函数
------------------------------------------------------------
开发工具与关键技术:Oracle sql*plus PLSQL Developer
撰写时间:2019年04月01日
------------------------------------------------------------
1、ROW_NUMBER() over()
基本原理是先使用over子句中的排序语句对记录进行排序,然后按照这个顺序生成序号。over子句中的order by子句与SQL语句中的order by子句没有任何关系,这两处的order by 可以完全不同
注意:在使用row_number实现分页时需要特别注意一点,over子句中的order by 要与Sql排序记录中的order by 保持一致,否则得到的序号可能不是连续的。还有一个要注意的就是在子查询写好后要给子查询起个别名,不然会报错
列出001课程成绩由高到低的第5到第10条的同学的数据
select * from (
select row_number() over(order by score desc) as row,b.* from tblscore a,tblstudent b where a.StuId = b.StuId and Courseid = 001
)as u
where row between 5 and 10