无忧技术网 - RSS订阅 
无忧技术网

SQL Server的Cube操作符使用详解


作者:[佚名] - 发布:2010-4-22 17:35:38 - 来源:无忧技术网
要使用cube,首先要了解group by,其实cube和rollup区别不太大,只是在基于group by 子句创建和汇总分组的可能的组合上有一定差别,cube将返回的更多的可能组合。如果在 group by 子句中有n个列或者是有n个表达式的话,sqlserver在结果集上会返回2的n-1次幂个可能组合。
注意:
使用cube操作符时,最多可以有10个分组表达式,在cube中不能使用all关键字。
例子: 我们在数据库统计中常常要查询以下情况:
如一个定单数据库,我们要知道每个定单的每个产品数量,每个定单的所有产品数量,所有定单的某一产品数量,所有定单所有产品总量这些汇总信息。这时使用cube就十分方便了。当然不需要这么多信息或者只想知道某一具体产品、具体某一定单,某一时间关系(前,后,之间)等等具体信息的话,只需在where中限定即可
先举一个例子,是所有情况的:
一个数据库表中记载了一个产品定购情况:
现共有三种产品(1,2,3),已经下了两个定单(1,2)
sql语句:

select productid,orderid SUM(quantity) AS total FROM order GROUP BY productid,orderid WITH CUBE

ORDER BY productid,orderid

运行后得到结果:

productid orderid total

null null 95 所有定单所有产品总量

null 1 30 定单1所有产品数量

null 2 65 定单2所有产品数量

1 null 15 所有定单产品1总量

1 1 5 定单1产品1数量

1 2 10 定单2产品1数量

2 null 35 所有定单产品2总量

2 1 10 定单1产品2数量

2 2 25 定单2产品2数量

3 null 45 所有定单产品3总量

3 1 15 定单1产品3数量

3 2 30 定单2产品3数量


如果您对sqlserver group by 聚集有一定理解的话,您就可以理解cube操作符的用法和作用。其实在现实运用中cube还是很好有的,我们经常要对一些数据库数据进行统计,以利于我们更好的掌握情况。

我想电子商务可以更好的实现合理配置资源,尽量减少库存,只有更好的掌握生产、销售数据的具体情况,才能实现资源的合理配置。希望以后的企业象dell一样,不要象长虹等彩电厂商。
责任编辑:liqwei
打印本页】【关闭本页】【返回列表
·上一篇:数据库设计规范
·下一篇:SQL Server性能分析
 文章评分
  • current rating
-5 -4 -3 -2 -1 0 +1 +2 +3 +4 +5
 相关文章
·[软件信息]Windows Server 8 包含 300 多项新特性,附下载地址 (2011-09-16)
·[SqlServer]SQL Server性能计数器分析 (2010-06-28)
·[应用服务器]Apache HTTP Server 与 Tomcat 的三种连接方式介绍 (2010-04-22)
·[SqlServer]SQL Server性能分析 (2010-04-22)
 相关评论
 站点最新文章 更多>> 
·[经典影音]弱点
·[经典影音]萨利机长
·[经典影音]天空之眼
·[管理知识]康奈尔笔记法,提高100%学习效率
·[管理知识]刘强东:我管75000人靠这4张表格
·[管理知识]跟壳牌学HSE管理
·[运营策划]编辑工作内容整理
·[至理名言]奋斗与决定
·[瀚海拾遗]盲人打灯笼之各家论道
·[搞笑段子]中国男足
 站点浏览最多 更多>> 
·[协议规范]http断点续传原理:http头 Range、…
·[JS/CSS/HTML]HTML 空格的表示符号 nbsp / en…
·[NoSQL]Mongo数据库简介
·[协议规范]什么是SPF记录?如何设置、检测SP…
·[协议规范]图解 HTTPS 通信过程
·[PHP]精选国外免费PHP空间推荐
·[程序综合]常用IP地址查询接口
·[程序综合]什么是 DNS Prefetch ?
·[程序综合]获取客户端IP地址的三个HTTP请求…
·[Linux]/usr 目录的由来