SQL Server 2005 分页SQL
使用SQL Server 2005的T-SQL在服务器端进行分页是用到的SQL语句。
1、
2 from ssp_soi
3 where ssp_soi_id in (
4 select ssp_soi_id
5 from (
6 select ssp_soi_id,
7 ROW_NUMBER() OVER(ORDER BY ssp_soi_id) as nid
8 from ssp_soi
9 ) as tid
10 where nid between 21 and 50
11 )
2、
2 FROM (
3 select *,ROW_NUMBER() Over(order by ssp_soi_id) as rowNum
4 from ssp_soi )
5 as myTable
6 where rowNum between 21 and 50
3、
2 (SELECT *,
3 ROW_NUMBER() OVER (order by ssp_soi_id)as RowNumber
4 FROM ssp_soi )
5 SELECT *
6 FROM OrderedOrders
7 WHERE RowNumber between 21 and 50
1、
2 (
3 SELECT A.*, ROWNUM RN
4 FROM (SELECT * FROM s_command) A
5 WHERE ROWNUM <= 10
6 )
7 WHERE RN >= 1
2、
2 (
3 SELECT A.*, ROWNUM RN
4 FROM (SELECT * FROM s_command) A
5 )
6 WHERE RN BETWEEN 1 AND 10
而按效率来考虑,上述的第一种方法的效率要比第二种高很多。
这是由于CBO优化模式下,Oracle可以将外层的查询条件推 到内层查询中,以提高内层查询的执行效率。对于第一个查询语句,第二层的查询条件WHERE ROWNUM <= 40就可以被Oracle推入到内层查询中,这样Oracle查询的结果一旦超过了ROWNUM限制条件,就终止查询将结果返回了。
而第二个查询语句,由于查询条件BETWEEN 21 AND 40是存在于查询的第三层,而Oracle无法将第三层的查询条件推到最内层(即使推到最内层也没有意义,因为最内层查询不知道RN代表什么)。因此,对 于第二个查询语句,Oracle最内层返回给中间层的是所有满足条件的数据,而中间层返回给最外层的也是所有数据。数据的过滤在最外层完成,显然这个效率 要比第一个查询低得多。
同时,Oracle也支持ROW_NUMBER() OVER (partition by 字段 order by 字段 ),如下:
2 SELECT ROW_NUMBER() over (ORDER BY euse_id) ROWNO, e_user.* FROM e_user WHERE 1=1)
3 SELECT * FROM TMS_e_user WHERE ROWNO BETWEEN 1 AND 5
MySQL则比较简单
1、
转载于:https://www.cnblogs.com/Jason_zhu/archive/2010/04/09/1708279.html
SQL Server 2005 分页SQL相关推荐
- Sql Server 2005 分页
摘要:Sql Server 分页查询sql! Sql Server 2005分页查询数据,适用于手机端和服务器端交互 一:Dao代码: /*** 分页查询研讯分类下的新闻列表*/@Overridepu ...
- 你应该升级到SQL Server 2005还是SQL Server 2008?
虽然SQL Server2005已经推出了约3年了,奇怪的是,很多公司仍然没有将SQL Server2000升级.现在这些公司面临着再次作出决定--是跳过升级到SQL Server 2005 还是直接 ...
- SQL Sever 各版本下载 SQL Server 2012下载SQL Server 2008下载SQL Server 2005 下载SQL Server 2000 下载...
SQL Server 2016简体中文企业版 文件名:cn_sql_server_2016_enterprise 64位下载地址:ed2k://|file|cn_sql_server_2016_ent ...
- SQL Server 2005与SQL Server 2008 的区别
随时随地管理您的数据 SQL Server 2008 在 Microsoft 的数据平台上发布,帮助您的组织随时随地管理任何数据.它可以将结构化.半结构化和非结构化文档的数据(例如图像和音乐)直接存储 ...
- SQL Server 常用分页SQL
今天无聊和朋友讨论分页,发现网上好多都是错的.网上经常查到的那个Top Not in 或者Max 大部分都不实用,很多都忽略了Order和性能问题.为此上网查了查,顺带把2000和2012版本的也补上 ...
- 数据库 ACCESS与SQL SERVER 2000分页SQL语句 分析
原SQL语句:SELECT TOP 10 * FROM [Order] WHERE [ID] NOT IN(SELECT TOP 6000 [ID] FROM [Order] ORDER BY [ID ...
- sql server 2005分页存储过程和sql server 2000分页存储过程(摘)
USE [svnhost] GO /****** 对象: StoredProcedure [dbo].[up_Page2005] 脚本日期: 05/21/2008 11:27:05 ***** ...
- 走进SQL Server 2005:备份与恢复功能
每当有任何新的软件发布的时候,你通常都会发现一些你从来不知道或者从来不知道你需要的新的特性.SQL Server 2000中存在的许多的备份和恢复特性都同样保留在了SQL Server 2005中,但 ...
- SQL Server 2005——下一代的数据管理和分析软件[转]
XXXX(不知道为什么CnBlogs上的人这么抵制XXXX,呵呵--)上推出了"体验SQL Server 2005"活动,当然啦,一些关于SQL Server 2005的文章被翻译 ...
- 建立Microsoft SQL Server 2005数据仓库
建立Microsoft SQL Server 2005数据仓库 这几天用了一下Microsoft SQL Server 2005的分析服务,贴出来给大家分享一下. 请多多指正.谢谢. 一.需求: 建立 ...
最新文章
- 【ACM】杭电OJ 2037
- Mysql的日志那些事
- 项目材料用到的词组积累
- CentOS系统启动流程
- 计算圆弧与矩形相交_GIS算法:3_拓扑空间关系计算模型DE-9IM
- C# 操作自定义config文件
- 前端div里的内容下沉_自学Web前端的五个不同阶段,从浅入深
- 【转】C# 操作系统防火墙
- 以下可以作为c语言合法变量名的是,2016年河南科技学院信息工程学院C语言上机编程复试笔试最后押题五套卷...
- 后端:死磕18个Java8日期处理,工作必用!
- Android版本演进中的兼容性问题
- 僵化封闭是世界的新主流?
- bom头mysql_BOM信息头详解
- android 添加蒙版实现护眼模式(夜间模式)
- python中add函数_add_argument函数的dest参数
- 没有钱没技术没学历应该怎么去创业?
- Basic grammar of Python day2
- Write Combining Buffer
- BUPT计导第三次机考12.8数组+二分答案详解
- Python复盘股票_3. 超短的复盘框架