Teradatagrouping和rollup窗口函数

Posted badboy200800

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Teradatagrouping和rollup窗口函数相关的知识,希望对你有一定的参考价值。

1.group by后带rollup子句

先按一定的规则产生多种分组,然后返回各个分组所产生的结果集的并集,且没有去掉重复数据(统计出的数据是求和还是最大值还是平均值等这就取决于SELECT后的聚合函数)。下面举例说明: 

例1:Group by rollup(A ,B) 

//返回如下3个分组的统计结果集的并集,且未去掉重复数据。
第一种:group by A,B 
第二种:group by A 
第三种:group by NULL (即没有分组,所有数据做一个统计)

例2:Group by rollup(A ,B,C) 

//返回如下4种分组统计结果集的并集,且未去掉重复数据
第一种:group by A,B,C 
第二种:group by A,B 
第三种:group by A 
第四种:group by NULL

例3:Group by C , rollup(A ,B)

//group by和rollup间还有其它列C,返回如下3种分组统计结果集的并集,且未去掉重复数据
第一种:group by C,A,B     
第二种:group by C,A      
第三种:group by C,NULL  等价于group by C 

例4:Group by rollup(A ,(B,C))

//多列被括号括在一起时,视为一个整体。返回如下3中分组统计结果的并集,且未去掉重复数据
第一种:group by A,B,C 
第二种:group by A   
第三种:group by NULL

 

 

 

参考文档:

group by后加rollup子句的用法以及与cube和grouping sets子句的区别

SQL基础之GROUPING

 

 

 

以上是关于Teradatagrouping和rollup窗口函数的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL-第八章

rollup与cube函数

rollup和grouping函数

Webpack 和 Rollup:一样但又不同

Doris -- Rollup和物化视图

原来rollup这么简单之插件篇