SQL SERVER 2005分页查询语句
2010-03-19 09:44
441 查看
最近个项目需要用到SQL SERVER 2005的数据库,曾记得以前用2000的时候分页程序的SQL语句一直是个问题,不是效率不高就是难以理解。这次在网上查找资料的时候发现SQL SERVER 2005分页时的语句已经大有改变,先看语句: WITH Article_CTE AS ( SELECT *, ROW_NUMBER() OVER (ORDER BY [ArticleId]) AS RowNumber FROM n_Article ) SELECT * FROM Article_CTE WHERE RowNumber BETWEEN 0 AND 10 在SQL SERVER 2005中新引入了ROW_NUMBER()函数,配合后面的OVER按某字段进行排序然后再通过设置其范围来达到分页查询的目的,这样与Oracle中根据rownum字段进行分页查询便大同小异了。 首页用WITH创建个临时命名的结果集(这些结果集称为公用表表达式 (CTE)),对表中的每行先排序再设置其RowNumber数据,然后通过select查询,通过where设置查询条件来到达分页的目的。貌似在这过程中还是对表进行了全部查询,如果排序的字段很大很长的话也会很慢的,感觉还是没有Oracle的rownum效率高
相关文章推荐
- SQL SERVER 2005分页查询语句
- SQL Server 2005 的分页查询(ROW_NUMBER() OVER 语句)
- 简单的sql server 2005 分页查询sql语句
- SQL Server 2000/2005 分页SQL — 单条SQL语句 (转)
- 在SQL Server中通过SQL语句实现分页查询(转)
- DB2,Oracle,SQL server,Mysql分页查询语句
- 根据表或者视图自动生成分页语句的存储过程,适用于Sql Server 2005及以上版本
- MySQL、Oracle和SQL Server的分页查询语句
- Oracle, SQL Server, My SQL如何实现数据分页查询语句
- SQL Server 2005分页查询性能优化
- Oracle、SQL server、MySQL数据库中分页查询的SQL语句
- MySQL、Oracle和SQL Server的分页查询语句
- 数据库-Oracle【SQL模糊查询语句(like) 及SQL Server 2005 导入和导出向导】
- 【SQL精彩语句】SQL SERVER 2005中查询指定节点及其所有子节点的方法(表格形式显示)
- sql server 2005建立数据库,表,约束,账户密码,权限,基本查询删除语句
- SQL Server 2000/2005 分页SQL — 单条SQL语句
- Oracle, SQL Server, My SQL数据分页查询语句汇总
- sql server 2005 (select查询语句用法)
- 转:SQL Server 2005 的分页查询(ROW_NUMBER() OVER
- SQL Server 2005 技术内幕 TSQL查询学习笔记chapter4之三排名函数Row_number()和分页应用