位置: 编程技术 - 正文

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)

  • 固定资产接受捐赠的计入什么科目
  • 公司车辆过户给个人需要交多少税
  • 如何证明自己是低保户
  • 怎么报企业所得税季报
  • 邀请客户参加公司会议
  • 补交税款时加收的滞纳金有上限吗
  • 股东实物分红账务怎么做
  • 一般纳税人普通发票免税吗
  • 流动资产短期借款
  • 股息利高的股票
  • 新版增值税开票软件怎么下载
  • 季报如何填企业信息
  • 对公账户在税务局能查到吗
  • 以公司名义投资好还是以个人名义投资好
  • 工程劳务公司的生产销售情况分析
  • 固定资产清理需要结转吗
  • 购买融资租赁资产
  • 宣传用品发票包括哪些
  • 小规模纳税人开专票不超过30万要交税吗
  • 存货跌价准备计提原则
  • 物流补贴需要交税吗
  • 公司组织的团建受伤算工伤吗
  • 最新早上好图片大全集
  • 全部投资内部收益率
  • 私立幼儿园收费归哪个部门管
  • 对外贸易法律的特征包括
  • mac os右键
  • 股权折价转让
  • 代开增值税发票沒有付款怎么做账?
  • 盈利结转利润
  • kjournald是什么进程
  • 提高stable diffusion速度
  • 增资后股权转让
  • 没有以前年度损益调整属于哪类科目
  • Yii2——使用数据库操作汇总(增删查改、事务)
  • 补提所得税费用可以直接计入当期
  • 机器学习中的预测评价指标MSE、RMSE、MAE、MAPE、SMAPE
  • es工具类
  • 火遍全网的超燃神曲旋律震撼人心,听完热血沸腾!
  • sed多个命令匹配条件格式
  • 对公账户每笔钱都得做账吗
  • 安装php5.6
  • wordpress文章发布不显示作者
  • wordpress怎么降级
  • 新会计准则哪一年颁布
  • 工会经费支出实施细则
  • 小规模季度交税分录怎么做
  • 飞机票抵扣进项税怎么填附表二
  • 哪些进项税额不能抵扣
  • 存货的采购成本不包括
  • 换下来的旧电池还有用吗
  • 网上报税有没有时间限制
  • 个人开发者要缴税吗
  • 一次性收取房租怎么做分录
  • 买卖股票手续费怎么算
  • 建设期收到罚单怎么处罚
  • 企业开发是什么专业
  • 在长期股权投资中,如何理解控制、重大影响?
  • 合同取得成本包括什么
  • 企业未分配利润包括哪些
  • 电脑更新win10系统软件
  • centos docker安装部署
  • ubuntu命令行查找文件
  • window mobile系统
  • win10系统以太网连接图标不见了怎么办
  • linux操作系统入门教程
  • edxposed 作用域
  • bootstrap3中container与container_fluid外层容器的区别讲解
  • 幼儿园放鞭炮
  • python根据ip获取主机名
  • jquery图片
  • 很全面的成语
  • javascript文字特效
  • JavaScript For Beginners(转载)
  • textview在哪
  • python解析算法
  • 一般纳税人取得苗木普票可以抵扣吗
  • 个人所得税完税证明怎么开具
  • 沈阳市税务局最新公告
  • 房地产契税2023年最新政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设