数据库分页是指将数据库所有数据一次性查询出来,然后由利用层根据每页条数和当前页码的要求,对结果集进行分页,该进程需要大量的计算。MSSQL是比较流行的数据库产品,本文将探索实现MSSql数据库分页的两种方法。
方法一:使用ROW_NUMBER()函数
ROW_NUMBER()函数可以为MSSQL数据库中的每行记录编号,可使用该函数实现分页,具体代码为:
SELECT * FROM
(SELECT ROW_NUMBER() OVER(ORDER BY somecolumn) AS rownum, * FROM tablename) t
WHERE t.rownum BETWEEN startrownum AND endrownum
上面的代码表示限定要查询的范围是rownum从startrownum到endrownum。其中startrownum = (当前页码⑴)*每页条数 endrownum = 当前页码*每页条数。
方法二:使用OFFSET FETCH子句
MSSQL数据库支持OFFSET FETCH子句基于查询结果集中的行数来进行分页,以下所示:
SELECT * FROM tablename
ORDER BY somecolumn OFFSET (当前页码⑴)*每页条数 ROWS
FETCH NEXT 每页条数 ROWS ONLY
上面的代码表示,从查询结果集中skip(跳过)(当前页码⑴)*每页条数行,然后查询每页条数行。
总结
本文探讨了怎样使用MSSQL实现数据库分页的方法。上述方法分别是使用ROW_NUMBER()函数和使用OFFSET FETCH子句实现,具体的实现方法已有所描写,相信读者相信能够根据本身的实际利用场景,使用上陈述到的方法以实现数据库中的分页功能。
本文来源:https://www.yuntue.com/post/214659.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏