位置: 编程技术 - 正文

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)

  • 港建费征收管理办法
  • 小微企业开专票税率是1%还是3%
  • 应收账款贷方有余额是什么意思
  • 应收账款包含应付款吗
  • 递延收益为什么是非流动负债
  • 餐饮个体工商户交税标准
  • 公司收到一次性吸纳就业补贴款怎么分录
  • 月度资金计划明细表模板
  • 2018年收入等级划分图
  • 280服务费抵税分录
  • 税务的电子钥匙是干嘛的
  • 企业所得税退税会计分录
  • 受托加工物资产生的成本怎么做会计核算?
  • 境外企业在境外提供劳务
  • 个税房租和房贷抵扣一样吗
  • 增值税的附加税有哪些,税费多少
  • 暂估入库借方有余额怎么处理
  • 取得劳务收入的会计分录
  • 如何用腾讯电脑管家回复格式化U盘
  • 如何在win11上安装旧版ie
  • 企业购入固定资产,价值3000元,误记入管理费用账户
  • 罗汉松的养殖方法剪枝视频
  • 尿急尿频尿不尽吃什么药效果好
  • phpforeach遍历二维数组
  • 暂估入账的固定资产可以计提折旧吗
  • 拆迁以后
  • 有限责任公司股东对公司债务承担
  • yii框架教程
  • 加工劳务费会计分录
  • php自定义变量的方法是
  • mksysb命令
  • php的urlencode
  • php高级程序招聘
  • 初级会计直线法摊销
  • php 用户
  • 织梦cms不更新了吗
  • python3 tcp
  • 深入理解jvm第三版pdf百度云
  • 购入已提足折旧的固定资产账务处理
  • 哪些收入需要交消费税
  • 未分配利润可以挂多久
  • 员工工资可以当进项税吗
  • 捐赠支出税前扣除比例
  • 原材料暂估入库是什么意思
  • 公司转投资是什么意思
  • 培训费发票可以抵扣吗
  • 直接人工标准工时计算公式
  • 发票开出来对方不走账会怎么样?
  • 员工借款怎么处理
  • 企业购买固定资产要交什么税
  • 进项税和销项税怎么理解
  • 复式记账法的特点不包括
  • 私营公司应付利息怎么算
  • 编程经验点滴怎么写
  • mysql数据库全量备份
  • bios设置电脑定时启动
  • 微软win8下载
  • ubuntu系统安装无线网卡驱动
  • 注册表 命令
  • centos6.8升级centos7
  • 2007皖价服
  • 晚上睡觉艾草贴肚脐
  • Tutorial 8:Scaling Transformation
  • js实现用户登录
  • jquery window
  • 显示网络配置的命令
  • 用python抓取网页数据的代码
  • javascript学习指南
  • jQuery ajax时间差导致的变量赋值问题分析
  • unity gpu优化
  • vs2010编译器在哪里?
  • javascript原理详解
  • 销售黄金的基本知识
  • 无偿使用的房屋装修如何摊销
  • 税务执法资格考试
  • 停车场收费需要什么手续
  • 国税发票如何查询真伪
  • 上海各区财政收入排名
  • 税收优惠政策能调动公众的捐赠积极性
  • 2018年申报时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设