【Teradata】grouping和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

原文地址:https://www.cnblogs.com/badboy200800/p/10404279.html

时间: 2024-11-14 12:34:27

【Teradata】grouping和rollup窗口函数的相关文章

Oracle:grouping和rollup

Oracle grouping和rollup简单测试 SQL> select department_id,sum(salary) from employees where department_id in(10,30,90,100) group by department_id order by department_id; DEPARTMENT_ID SUM(SALARY) ------------- ----------- 10 4400 30 24900 90 58000 100 5160

Hive新功能 Cube, Rollup介绍

说明:Hive之cube.rollup,还有窗口函数,在传统关系型数据(Oracle.sqlserver)中都是有的,用法都很相似. GROUPING SETS GROUPING SETS作为GROUP BY的子句,允许开发人员在GROUP BY语句后面指定多个统计选项,可以简单理解为多条group by语句通过union all把查询结果聚合起来结合起来,下面是几个实例可以帮助我们了解, 以acorn_3g.test_xinyan_reg为例: [[email protected] xjob]

TSql Grouping Sets

TSql Group by clause主要有4种类型: Group by a,b group by rollup(a,b) group by cube(a,b) group by grouping sets((),(a),(a,b),rollup(a,b),cube(a,b)) rollup 和cube的作用是预定义grouping sets(分组集),rollup(a,b) 预定义的分组集是(),(a),(a,b);cube(a,b)预定义的的分组集是(),(a),(b),(a,b). gr

TSQL 分组集(Grouping Sets)

分组集(Grouping Sets)是多个分组的并集,用于在一个查询中,按照不同的分组列对集合进行聚合运算,等价于对单个分组使用“union all”,计算多个结果集的并集.使用分组集的聚合查询,返回的select 子句相同,由于select子句只能引用分组列,因此,在单个分组中缺失的分组列,TSQL返回NULL值. TSQL使用 group by 子句分组,有4种不同的语法: group by a,b group by rollup(a,b) group by cube(a,b) group

SQL-MICK基础

/*Select语句完整的执行顺序:1.from子句组装来自不同数据源的数据:2.where子句基于指定的条件对记录行进行筛选:3.group by子句将数据划分为多个分组:4.使用聚集函数进行计算:5.使用having子句筛选分组:6.计算所有的表达式:7.使用order by对结果集进行排序.8.select 集合输出.*/create databasecreate table shohin (shohin_id char(4) not null,shohin_mei varchar(100

HANA SQL

约束 注释 你可以给你的 SQL 语句添加注释来增加可读性和可维护性. SQL 语句中注释的分隔如下: l  双连字符“--”.所有在双连字符之后直到行尾的内容都被 SQL 解析器认为是注释. l  “/*”和“*/”.这种类型的注释用来注释多行内容.所有在引号符“/*”和关闭符“*/”之间 的文字都会被 SQL 解析器忽略. 标识符 标识符用来表示 SQL 语句中的名字,包括表名.视图名.同义字.列名.索引名.函数名.存储过程名.用户名.角色名等等.有两种类型的标识符:未分隔标识符和分隔标识符

Hive聚合函数及采样函数详解

 本文主要使用实例对Hive内建的一些聚合函数.分析函数以及采样函数进行比较详细的讲解. 一.基本聚合函数 数据聚合是按照特定条件将数据整合并表达出来,以总结出更多的组信息.Hive包含内建的一些基本聚合函数,如MAX, MIN, AVG等等,同时也通过GROUPING SETS, ROLLUP, CUBE等函数支持更高级的聚合.Hive基本内建聚合函数通常与GROUP BY连用,默认情况下是对整个表进行操作.在使用GROUP BY时,除聚合函数外其他已选择列必须包含在GROUP BY子句中

SQL SERVER 2008- 字符串函数

/* 1,ASCII返回字符表达式中最左侧字符的ASCII代码值 仅返回首字母的ASCII码值 parameter char或varchar returns integer */ SELECT ASCII('a') --97 SELECT ASCII('A') --65 SELECT ASCII('aA') --97 SELECT ASCII('0') --48 SELECT ASCII('01') --48       /* 2,CHAR将整数ASCII代码转换为字符 parameter TI

Inceptor查询语句

-- MySQL中的语句都能用,不再一一描述,只记录一些不同 详情见Inceptor 6.0文档 3.4.4查询语句这节 -- 查询语句 SELECT开头,可以通过添加多种从句从Inceptor中的表中获得信息. -- 最常使用的数据查询语句的语法如下: SELECT [ALL | DISTINCT] select_expression, select_expression, ... FROM table_reference [WHERE where_condition] [GROUPBY co