mysql rollup&&cube

       当需要对数据库数据进行分类统计的时候,往往会用上group by进行分组。而在group by后面还可以加入with  cubewith rollup等关键字对数据进行汇总。那什么时候用with cube?什么时候用with rollup?


一、两者的区别    
      CUBE   
生成的结果集显示了所选列中值的所有组合(group by 后面的列组合)的聚合。 
      ROLLUP   
生成的结果集显示了所选列中值的某一层次结构的聚合。


二、两者的用法(实例说明)

     CUBE:除了返回GROUP BY子句指定的列外,还返回按组统计的行。返回的结果先按分组的第一个条件排序显示,再按第二个条件列排序显示,以此类推。统计行包括了GROUP BY 子句指定的列的各种组合的数据统计。


     ROLLUP, 它能用一个问询提供双层分析。使询问产生另一行结果,该行显示了所有年份的总价值: 


mysql> SELECT year, SUM(profit) FROM sales GROUP BY year WITH ROLLUP;
+------+-------------+

| year | SUM(profit) |

+------+-------------+

| 2000 |        4525 |

| 2001 |        3010 |

| NULL |        7535 |

+------+-------------+



总计高聚集行被年份列中的NULL值标出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值