当前位置: 首页 > news >正文 SQL SERVER 2005分页查询语句 news 来源:原创 2024/5/18 12:56:37 最近个项目需要用到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效率高 相关文章: 测试mssql中sql语句执行时间 SQL SERVER查询时间条件式写法 C#完整的通信代码(一)(点对点,点对多,同步,异步,UDP,TCP) C#完整的通信代码(二)(点对点,点对多,同步,异步,UDP,TCP) C# byte数组常用扩展 八种情况 C# Stream 和 byte[] 之间的转换 常用SQL/oracle循环语句 ORACLE 字符串操作 jquery下json数组的操作用法实例 c#写windows服务程序 JS操作select相关方法:新增 修改 删除 选中 清空 判断存在 等 js判断undefined类型,undefined,null,NaN的区别 oracle的exp/imp使用方法学习 C# 操作线程的通用类[测试通过] c# 获取电脑硬件信息通用查询类[测试通过] [译]CSS 居中(Center)方法大合集 egg(89)--egg之redis的发布和订阅 ES学习笔记(12)--Symbol Mac转Windows的拯救指南 Making An Indicator With Pure CSS RxJS 实现摩斯密码(Morse) 【内附脑图】 ucore操作系统实验笔记 - 重新理解中断 vue从创建到完整的饿了么(18)购物车详细信息的展示与删除 测试如何在敏捷团队中工作? 动态魔术使用DBMS_SQL 力扣(LeetCode)965 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法 如何进阶一名有竞争力的程序员? 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗? 微服务框架lagom 项目管理碎碎念系列之一:干系人管理 中国人寿如何基于容器搭建金融PaaS云平台 LeetCode解法汇总307. 区域和检索 - 数组可修改 queue --- 一个同步的队列类 (1)(1.8) MSP(MultiWii 串行协议)(4.1 版) (c语言)strcpy函数用法 (附源码)ssm高校志愿者服务系统 毕业设计 011648 (十) 初识 Docker file (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战 (循环依赖问题)学习spring的第九天 (转)memcache、redis缓存 .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端 .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例 .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞) .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary) .net操作Excel出错解决 .NET中winform传递参数至Url并获得返回值或文件 @cacheable 是否缓存成功_Spring Cache缓存注解 @DependsOn:解析 Spring 中的依赖关系之艺术 @JoinTable会自动删除关联表的数据 [ 蓝桥杯Web真题 ]-Markdown 文档解析 [ 数据结构 - C++] AVL树原理及实现 [<MySQL优化总结>] [100天算法】-每个元音包含偶数次的最长子字符串(day 53) [Android]How to use FFmpeg to decode Android f...
最近个项目需要用到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效率高