使用row_number()实现分页实例

复制代码 代码如下:

create procedure p_news

@pagesize int,@pageindex int

as

begin

select * from(

select *,row_number() over(order by id) as [$row_num] from news

–where [$row_num]<=3 这个时候行号不能用,必须全部执行完毕以后才会产生

)as _temp where [$row_num] between (@pageindex*pagesize+1) and (@pageindex+1)*@pagesize

end

–注意参数的设置,java调用时 string sql=”{call p_news(?,?)}”

–select row_number() over(order by id) rn,* from news where id id>3 给最终的结果编一个号,一个连续的号

–order by必须写在括号里面,因为写在from news 后面会报 sql的错误:除非另外还指定了 top 或 for xml,否则,order by 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐