SQL SERVER的有哪几种分页方式

2024-10-13 04:40:02

1、第一种:ROW_NUMBER() OVER()方式把表中的所有数据都按照一个ROW_NUMBER进行排序,然后查询ROW_NUMBER 10到20之间的前十条记录。SELECT * FROM (    SELECT *, ROW_NUMBER() OVER(ORDER BY LOG_ID ) AS ROWID FROM LOG_SYSTEM  ) AS BWHERE ROWID BETWEEN 10 AND 20---WHERE ROWID BETWEEN 当前页数-1*条数 AND 页数*条数---

SQL SERVER的有哪几种分页方式

3、--第三种方式:--TOP NOT IN方式 (适应于数据库2012以下的版本)先搜出id在1-15之间的数据,紧接着搜出id不在1-15之间的数据,最后将搜出的结果取前十条。SELECT TOP 10 * FROM LOG_SYSTEMWHERE LOG_ID NOT IN (SELECT TOP 15 LOG_ID FROM LOG_SYSTEM)---WHERE ID NOT IN (SELECT TOP 条数*页数 LOG_ID FROM LOG_SYSTEM) ---

SQL SERVER的有哪几种分页方式

5、小结自我感觉第二种方式非常的简单,不冗余因为没有嵌套查询啊,少了Sql语句的嵌套,就少了“视觉上的逻辑”,但是大家一定要切记,这种方式只是适合SqlServer 2012以及更高的版本。由上面的例子可以看出,SqlServer的确挺强大的,但是如果我们缺少发现“功能” 的眼睛的话,Sql Server再强大对我们来说也没有。

SQL SERVER的有哪几种分页方式
猜你喜欢