我们有中文版( hana%E4%B8%ADgrouping sets rollup cube%E7%9A%84%E4%BD%BF%E7%94%A8)
在"选择查询语句"中,您可以使用"逐句分组"功能,使用一列或多列的内容对表进行分组,大数据运维,并对组使用聚合功能。在这里,您可以使用分组集在一条语句中生成多组数据的结果。结果相当于每个组的所有结果的并集。
这里将介绍分组集、汇总和多维数据集的用法。
选择[,GROUPING\u id()][,text_filter(dimensional_attribute)
FROM…
groupby GROUPING SETS[最佳n][限制n][偏移量n]
[带小计][带余额][带总计]
[text_filter[填充[排序匹配到顶部]]
[结构化结果[带概述][前缀'值']]
(,…,)
具有;
:=|(,…,)|((,…,)ORDER BY[ASC][DESC])
我们可以使用分组集来指出用于分组的列组合,称为分组集。
例如,分组集(A,B,(C,D))表示按A分组的所有结果的并集,分别由B和C,D表示。
ROLLUP和CUBE是分组集的特殊形式。
例如
ROLLUP(A,B,C)等价于分组集((A,什么是软件企业,大数据app,B,C),(A,B),A,())。
也就是说,云机服务器,ROLLUP中的分组集的个数是n+1
例如:
CUBE(A,B,C)等价于分组集((A,B,C),(A,B),(A,C),(B,C),A,51返利,B,C,())。
那么,立方体中分组集的数目是1+C(n,1)+C(n,2)+…+C(n,n-1)+1=2n.
这里我们设计了一个表名SALES.
相当于
相当于
相当于
grouping_id()为每个分组集返回一个整数来区分它们。
grouping()也返回一个整数,它的参数必须是一列。表示该列是否用于分组,返回0或1。
注意:以多维数据集为例,分组时有两列:custmomer和YEAR。然后我们可以假设有一个二进制数,低表示列YEAR,高表示列CUSTOMER。如果在一个分组集中使用此列进行分组,则此列设置为1,如果未设置为0。然后返回一个整数作为结果。
最佳n:n可以是正数、负数或0。仅返回按每个分组集中聚合的行数降序排列的前n个分组集。负数表示按升序排序,0表示不使用最佳关键字
LIMIT n[OFFSET m]:限制每个分组集返回的分组记录和偏移量
可与关键字LIMIT OFFSET一起使用,在每个分组集中增加一个小计。与小计一起使用时,将返回限制偏移部分的小计。最后一个和天平一起使用时会被退回。WITH TOTAL表示返回每个分组集的聚合总值。
TEXT_FILTER表示过滤分组列上的内容。这里我们可以使用通配符,比如*?和逻辑运算符,如OR、and、NOT和NOT.
FILL UP可与TEXT\u FILTER一起使用,以返回每个分组集中的所有行。我们可以使用text_filter()函数来显示匹配值。
这与FILL UP一起使用,将匹配值排序到每个分组集的顶部。
将结果作为临时表返回。使用WITH OVERVIEW,还将返回一个OVERVIEW临时表。使用PREFIX可以指定表的前缀。前缀必须以"#"开头,表示临时表。默认值为"#GN"。#GN0是概览表,#GNn是每个分组表的结果。
多个结果集可以设置返回多个结果集的结果。
为什么在这里重新发布SQL文档?
这篇博文的附加值在哪里?