sql server的cube操作符使用详解_SQL SERVER数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

sql server的cube操作符使用详解

作者:黑客防线网安SQL维护基地 来源:黑客防线网安SQL维护基地 浏览次数:0

本篇关键词:使用详解操作
黑客防线网安网讯:cube操作符要使用cube,首先要了解group by其实cube和rollup区别不太大,只是在基于group by 子句创建和汇总分组的可能的组合上有一定差别,cube将返回的更多的可能组合。如果在 group by 子...

cube操作符

要使用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一样,不要象长虹等彩电厂商。

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-10384-1.html
网站维护教程更新时间:2012-03-21 02:33:30  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer