快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

SQL SERVER的CUBE操作符使用详解

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相同,不要象长虹等彩电厂商。
返回类别: 教程
上一教程: SQL SERVER 2000的安全配置
下一教程: MYSQL修改密码方式总结

您可以阅读与"SQL SERVER的CUBE操作符使用详解"相关的教程:
· MYSQL中的MYSQLDUMP命令使用详解
· 使用MS SQL7的LINKED SERVER第四篇
· SQL SERVER CHARINDEX和PATINDEX详解
· SQL SERVER 2000中的触发器使用
· SQL Server CHARINDEX和PATINDEX详解
    微笑服务 优质保证 索取样品