1、首先讲下row_number() over() 是干什么的?
是一个分析函数,会在数据表生成一个排序列。
案例SQL:
- select ROW_NUMBER() over(order by bookId) as Idd, * from BookInfo
- select * from BookInfo
如下图实例:

2、使用row_number() over()分页查询数据
- select * from (select ROW_NUMBER() over(order by bookId) as Idd,*from BookInfo )q where q.Idd >0 and q.Idd<=2
本人觉得这种分页方法简便,一直也在用这个方法(使用row_number() over()产生的排序列也能清晰看到取的数据),网上也有很多种分页实现的方法,做了下对比觉得这个用着比较爽。