db2中rownumber() over()函数

db2中,rownumber() over() 函数可以用来排序,但用此排序作为分页,是有问题的。

如:select u.*,rownumber() over()  as rn from sys_user u order by u.userid desc.

如果用rn作为分页,如下分页写法并不能按照userid排序分页

   select * from ( select u.*,rownumber() over()  as rn from sys_user u  order by u.userid asc) a where a.rn between 1 and 100

正确写法:

   select * from ( select u.*,rownumber() over(order by u.userid asc)  as rn from sys_user u  )a where a.rn between 1 and 100

posted @ 2017-12-04 18:03  少云锋儿  阅读(689)  评论(0)    收藏  举报