位置: 编程技术 - 正文

SqlServer 2005 T-SQL Query 学习笔记(3)

编辑:rootadmin

AD HOC PAGING:

就是指用页面的序号和页面的大小请求一个单独的页面。下面是例子。

DECLARE @pagesize AS INT, @pagenum AS INT;SET @pagesize = 5;SET @pagenum = 2;WITH SalesCTE AS( SELECT ROW_NUMBER() OVER(ORDER BY qty, empid) AS rownum, empid, mgrid, qty FROM dbo.Sales)SELECT rownum, empid, mgrid, qtyFROM SalesCTEWHERE rownum > @pagesize * (@pagenum-1) AND rownum <= @pagesize * @pagenumORDER BY rownum; 说明:在上个例子中,其实SQL只审视了行(2*5),也就是说,查看N页的话,SQL只查到N的页的数据,N页后面的数据一概不查看。 另外,每当移动一页,都会把这页放进缓存里,因此每次查询,就是逻辑查询(缓存)+物理查询的过程。物理查询只需要查询新请求的页即可,其他全部在缓存里执行,这样大大加快了查询速度。

MULTIPAGE ACCESS:

如果结果集不是很大,而且分了多个请求页面,请求也不向前移动,那么这是一个好的方案:首先在一个表里使用ROW_NUMBER具体化所有的页,然后创建一个群集索引。下面是例子。

首先创建按ROW_NUMBER把列编好,

SELECT ROW_NUMBER() OVER(ORDER BY qty, empid) AS rownum, empid, mgrid, qty INTO #SalesRN FROM dbo.Sales;CREATE UNIQUE CLUSTERED INDEX idx_rn ON #SalesRN(rownum);

然后直接按ROWNUM查询,

DECLARE @pagesize AS INT, @pagenum AS INT; SET @pagesize = 5; SET @pagenum = 2; SELECT rownum, empid, mgrid, qty FROM #SalesRN WHERE rownum BETWEEN @pagesize * (@pagenum-1) + 1 AND @pagesize * @pagenum ORDER BY rownum;

RANK & DENSE RANK

这2个函数和ROW_NUMBER的区别是:ROW_NUMBER在ORDER BY的条件里有重复行存在的话,是把这些重复行也按INDEX排列的,但是RANK和DENSE RANK总是确定的,即只要是ORDER BY重复的行,他们是统一INDEX的。

RANK和DENSE_RANK的区别是,RANK是如果上级的INDEX和下级的INDEX有可能不是+1关系,是按下级真正处于列里的位置进行INDEX,而DENSE_RANK是按照跟上级的INDEX+1的关系进行的编码。

比如:

SELECT empid, qty, RANK() OVER(ORDER BY qty) AS rnk, DENSE_RANK() OVER(ORDER BY qty) AS drnk FROM dbo.Sales ORDER BY qty;

NTILE

NTILE的用法和其他的RANK函数一样,只不过它可以传入一个参数,用来决定最大的INDEX是多少:它会按行数进行除法,然后平均分配行数进行INDEX的标示。

比如,如果有列,那么首先/3=3,3列一组作为一个INDEX,然后,%3=2,这2列会分别加在前面的2组上。

比如,

SELECT empid, qty, CASE NTILE(3) OVER(ORDER BY qty, empid) WHEN 1 THEN 'low' WHEN 2 THEN 'medium' WHEN 3 THEN 'high' END AS lvlFROM dbo.SalesORDER BY qty, empid;

推荐整理分享SqlServer 2005 T-SQL Query 学习笔记(3),希望有所帮助,仅作参考,欢迎阅读内容。

SqlServer 2005 T-SQL Query 学习笔记(3)

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

SqlServer T-SQL Query 学习笔记(4) 比如,我要建立一个1,,行的数字表:CREATETABLEdbo.Nums(nINTNOTNULLPRIMARYKEY);DECLARE@maxASINT,@rcASINT;SET@max=;SET@rc=1;INSERTINTONumsVALUES(1);WHILE@rc*2=@maxBEGININSE

SQLserver 文件和文件组的作用说明 1、文件和文件组的含义与关系每个数据库有一个主数据文件.和若干个从文件。文件是数据库的物理体现。文件组可以包括分布在多个逻辑分区的文件,

sql 批量更新问题的解决方法 首先注意Statement和PreparedStatement的问题Statementsm=cn.createStatement();sm.addBatch(sql1);sm.addBatch(sql2);...sm.executeBatch()用Statement的好处就是每次可以直接传一个SQL语

标签: SqlServer 2005 T-SQL Query 学习笔记(3)

本文链接地址:https://www.jiuchutong.com/biancheng/319298.html 转载请保留说明!

上一篇:SqlServer 2005 T-SQL Query 学习笔记(2)

下一篇:SqlServer 2005 T-SQL Query 学习笔记(4)

  • 小规模纳税人月收入多少免征增值税
  • 基本户可以直接转账给个人吗
  • 现金股利和现金利润的区别
  • 展位费怎么入账
  • 附加税费计税依据
  • 农产品增值税抵扣政策文件
  • 视同销售货物缴纳增值税的有哪些?
  • 高管个人所得税政策
  • 房地产开发精装房是国家规定吗
  • 存货盘亏计入什么收入
  • 怎么填报清算所得税申报表?
  • 发票开具税收分类是什么意思?
  • 差旅费住宿专票可以抵扣增值税吗
  • 油票发票可以抵进项税吗
  • 销售发票冲红的条件有哪些?
  • 技术服务费怎么开票
  • 高新技术企业资格复核
  • 进料进口
  • windows10如何切屏
  • 鸿蒙系统超级终端手机连手机
  • 如何恢复回收站永久删除的文件
  • 软件和硬件的成本按销售占比做分摊怎么算
  • php获取农历日期
  • ajax调用php函数
  • explorer.exe是啥意思
  • 股东投资款验资后可以转出吗
  • PHP:file_put_contents()的用法_Filesystem函数
  • php 重写 重载
  • 持有可转换债券的会计分录
  • laravel elementui
  • 境外汇款预处理是什么意思
  • 增值税专用发票丢了怎么补救
  • 服务行业的进项
  • 好用的5款国产手机推荐
  • php数据库管理
  • 微信开发怎么实现
  • 【超直白讲解opencv RGB与BGR】RGB模式与BGR模式有什么不同,如何相互转换?
  • 论文导读怎么做
  • php curl_setopt
  • php怎么上传图片并保存到数据库
  • 扣发工资是发还是不发
  • 劳务分包的形式有哪些
  • 公司租车公司
  • 销售折让怎么核算成本
  • 基本运算符号有乘方吗
  • mysql显示数据库语句
  • 成本会计的岗位要求
  • 怎么查是一般纳税人还是小规模
  • 印刷行业成本核算程序
  • 税盘开票机号怎么看
  • 培训费其他费用的列支范围
  • sql查询结果分页
  • 增值税申报抵扣联数据没有
  • 限定性资产的限定条件包括
  • 固定资产报废如何交增值税
  • 多计提的工资怎么冲销
  • 个体户办营业执照网上怎么申请
  • 利息支出的纳税调整计算公式
  • 主营业务成本借贷方向增减
  • 运费可以抵扣进项税额
  • 新准则建筑业会计核算
  • 关联交易定价方法包括
  • 票据的提示承兑期限是什么意思
  • 如何动态修改mysql的全局参数
  • mysql的修改命令
  • 侧边栏应用
  • solaris版本查询
  • 怎么调win7
  • spyagent4.exe - spyagent4是什么进程
  • win7系统中怎样
  • win70
  • 怎么恢复手机桌面时间和日期
  • linux怎样过滤一个关键字
  • java程序员准备骑驴找马了,需要怎么准备
  • python文本处理教程
  • CustomPropertyDrawer-Change the height of Property field
  • js响应事件的过程
  • python二分法查找
  • python utils模块
  • 税控软件怎么升级到新版本
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设