SQLServer的一种分页写法
最近在做SQLServer的分页写法,参考了很多方法。下面是我总结的一种分页方法,用了with,top和row_number()函数。 下面是我写的分页SQL语句: 1:with query as (select top 100 percent *,row_number() over(order by ID) as rownum) with的用法和相关语法内容请参考相关资料,再次不叙述。 1)、在上面两条SQL语句中query是自定义的表名,可以任意写; 2)、row_number()函数是建立一个类似与oracle的rownum列,但只支持2005或更高的版本;除此之row_number()后面必须跟上over(),在over后面的括号中还得写上order by ,而ID是你所查询的表的某一列,最好用主键。在此我将row_number()这个重新命名为rownum; 3)、在as后面的括号内用了一条SQL语句,里面可以用top关键字做相关的分页也可以不用,在第一句SQL语句中的top后面写上了100 percent,这个可以不写如第二条SQL语句一样,同时这里也可以写上具体的数字。其实这里就是top关键字的用法。因为我们已经将查出来的数据放到query表中,其中有一列为rownum,是唯一的。 4)、括号后面的SQL语句是表示:从query表中查询数据,并可以附上条件,查出我们需要的范围。这里可以用between and,或者直接用rownum大于和小于一个数值。 5)、select top 100 percent *,row_number() over(order by ID) as rownum和select ?*,row_number() over(order by ID) as rownum是上面的SQL语句的子句。SQL语句先运行这子句再运行外面的SQL语句。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- SQLServerException: Arithmetic overflow error convertin
- 本地计算机上的ArcSde Service 服务启动后又停止了,如果没
- 使用SQLserver Management Studio连接VS2012自带数据库
- sql-server-2008 – 为什么表的数据空间占用原始数据大小的
- sql-server – 为什么从XML变量中插入选择到变量表这么慢?
- MSSQLSERVER 事务与异常处理
- graph-databases – 用于原型设计的轻量级图形数据库
- SQL Server 数据库分离与附加(图文教程)
- SQL Server 刷新视图
- sql – Oracle:SELECT * FROM tablea a,tableb b WHERE a.