SQL系列ROLLUP关键字

为什么要引入ROLLUP?
可方便的生成"合计"、"小计"、"总计" 等混合统计的报表
如下数据集A经过ROLLUP运算可生成数据集B


接下来用上图中的A表做各种测试:

1.ROLLUP简单应用


查询结果如下:

如果用ROLLUP的另一个关键字CUBE产生的结果如下:


结果:


引出一个概念:
维:查询所指定的列称为维,列的个数称为维度
以上两个SQL语句涉及三个维度,ROLLUP和CUBE都可以用于多维计算,不同点在于CUBE可以包含所有纬度的组合,而
ROLLUP只涉及指定列的维度计算。

2.ROLLUP运算关键字GROUPING
GROUPING:判断是否为多维计算中的附加列,如果是则输出1,否则输出0


结果:
 
引入ROLLUP可以方便的对查询结果排序或自定义附加列的格式
排序应用:


结果:

补充:关于汉字、字母、null、空值、数字的排序问题


结果:

至于自定义附加列的样式在第三步讲解

3.ROLLUP综合运用


结果:
 
posted @ 2010-04-07 12:34  地狱伞兵  阅读(3668)  评论(4编辑  收藏  举报