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

     

猜你喜欢

转载自blog.csdn.net/weixin_44578470/article/details/88955601