Oracle中分页查询语句怎么写?
现在要动态的变化分页查询的条件,比如pageNow这个变量表示的是当前是第几页,那么我这样写条语句怎么不行?selectid,num,name,sex,adderfrom...
现在要动态的变化分页查询的条件,比如pageNow 这个变量表示的是当前是第几页,那么我这样写条语句怎么不行?
select id,num,name,sex,adder from student where id between 1+(5*(pageNow-1)) and 5+(5*(pageNow-1)) ;原来的想法是这样可以根据传递的pageNow这个值的变化而查询的结果就跟着变化,可是不行,而把1+(5*(pageNow-1))换成一个数字能查出来,希望高手指点一下,谢谢!!! 展开
select id,num,name,sex,adder from student where id between 1+(5*(pageNow-1)) and 5+(5*(pageNow-1)) ;原来的想法是这样可以根据传递的pageNow这个值的变化而查询的结果就跟着变化,可是不行,而把1+(5*(pageNow-1))换成一个数字能查出来,希望高手指点一下,谢谢!!! 展开
1个回答
展开全部
oracle分页有通用写法,假设一页5行
select * from (
select t.*,rownum from (
select * from table1 where condition order by column) t )
where rownum>(pangeNow-1)*5 and rownum<=(pageNow)*5
如果基础查询不需要排序,可以省掉一层嵌套
select * from (
select t.*,rownum from table1 t where condition )
where rownum>(pangeNow-1)*5 and rownum<=(pageNow)*5
select * from (
select t.*,rownum from (
select * from table1 where condition order by column) t )
where rownum>(pangeNow-1)*5 and rownum<=(pageNow)*5
如果基础查询不需要排序,可以省掉一层嵌套
select * from (
select t.*,rownum from table1 t where condition )
where rownum>(pangeNow-1)*5 and rownum<=(pageNow)*5
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询