`
yhef
  • 浏览: 69346 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ROLLUP\CUBE简单例子

 
阅读更多
简介:


一、资源准备:
1:建表
create table TEST_1 
( 
  c1 VARCHAR2(10), 
  c2 VARCHAR2(10), 
  c3 VARCHAR2(10) 
);

2:数据准备
insert into TEST_1 (C1, C2, C3)
values ('1', 'A', '11');

insert into TEST_1 (C1, C2, C3)
values ('2', 'B', '22');

insert into TEST_1 (C1, C2, C3)
values ('3', 'B', '33');

insert into TEST_1 (C1, C2, C3)
values ('4', 'D', '44');

insert into TEST_1 (C1, C2, C3)
values ('5', 'E', '55');

insert into TEST_1 (C1, C2, C3)
values ('6', null, '66');

二、执行CUBE
select decode(grouping(c2), 1, 'Total', c2) c2, sum(c3), count(1)
  from test_1 t
 where t.c2 is not null
 group by cube(c2)



三、执行ROLLUP
select decode(grouping(c2), 1, 'Total', c2) c2, sum(c3), count(1)
  from test_1 t
 where t.c2 is not null
 group by rollup(c2)



  • 大小: 7.3 KB
  • 大小: 7.2 KB
分享到:
评论

相关推荐

    Oracle ROLLUP和CUBE 用法

    这意味着,对于上述的地区、城市和部门的例子,CUBE会生成所有可能的三列组合,包括地区与城市、地区与部门、城市与部门,以及所有单列、两列和全列的汇总。 语法结构如下: ```sql SELECT column1, column2, ..., ...

    rollup cube grouping sets的用法

    ### rollup cube grouping sets 的用法 在数据库查询语言 SQL 中,`ROLLUP`, `CUBE`, 和 `GROUPING SETS` 是三个重要的概念,它们主要用于处理多维度数据的汇总和分组问题,使得数据分析更加灵活高效。接下来,我们...

    cube与rollup学习总结

    ### cube与rollup学习总结 在数据库查询语言SQL中,`GROUP BY`子句用于将数据按照一个或多个列进行分组,以便于对每个分组执行聚合操作(如求和、平均值等)。而在`GROUP BY`的基础上,`CUBE`和`ROLLUP`两个关键词...

    GROUP BY子句(rollup,cube,grouping sets)实例说明

    GROUP BY 子句(rollup, cube, grouping sets)实例说明 GROUP BY 子句是 SQL 语言中用于分组数据的关键字,它可以根据一个或多个列对数据进行分组,并对每个分组应用聚合函数,以便计算和输出所需的结果。GROUP BY...

    rollup及cube的使用

    ### Oracle中的ROLLUP与CUBE使用详解 在Oracle数据库中,`ROLLUP`与`CUBE`是非常重要的分组函数,被广泛应用于数据汇总、数据分析等场景中。这两个功能可以帮助开发人员快速地对数据进行多维度分析,是开发人员必备...

    Sql学习第四天——SQL 关于with cube,with rollup和grouping解释及演示

    `CUBE`和`ROLLUP`是`WITH`子句中的两个特殊运算符,它们主要用于多维度数据分析和聚合操作,通常在`GROUP BY`语句中配合使用。 1. **CUBE运算符**: `CUBE`生成的结果集包含了所有可能的子集,即所选列中值的所有...

    ROLLUP的数据统计效果

    因此,`ROLLUP` 更适用于那些希望从细粒度逐渐向上汇总的场景,而`CUBE` 则适合全面探索所有可能的维度组合。 在实际应用中,`ROLLUP` 经常与`HAVING` 和`ORDER BY` 一起使用,以便进一步过滤结果或按特定顺序展示...

    SQLServer中汇总功能的使用GROUPING,ROLLUP和CUBE

    然而,GROUP BY还可以与GROUPING、ROLLUP和CUBE运算符结合使用,以实现更复杂的多维度汇总功能。这些高级的汇总方法在数据分析和报表生成中非常有用,尤其是在处理大型数据集时。 GROUPING运算符主要用于识别汇总行...

    group by 后 使用 rollup 子句 总结.doc

    ### Group By 后使用 Rollup 子句的理解与应用 #### 一、Rollup 子句的基本...通过这些例子可以看出,`ROLLUP` 和 `CUBE` 都能够提供更丰富的数据分组选项,但在具体应用场景中应根据实际需求选择合适的子句来使用。

    grouping 解释及演示.rar

    当我们谈论`WITH CUBE`、`WITH ROLLUP`和`GROUPING`,这些都是在多维数据分析中用于扩展`GROUP BY`功能的高级聚合技术。它们提供了更灵活的数据汇总方式,帮助用户从不同角度查看数据。 首先,让我们深入理解`GROUP...

    Sql Server 分组统计并合计总数及WITH ROLLUP应用

    在给出的例子中,如果`[Source]`有三个不同的值,`WITH ROLLUP`将产生以下层次: 1. 每个`[Source]`的总计 2. 所有`[Source]`的两两组合总计 3. 所有`[Source]`的总和 在实际应用中,`WITH ROLLUP`常用于快速生成...

    C#.net_经典编程例子400个

    96 实例077 带复选框的树状菜单 98 2.9 其他控件典型应用 100 实例078 TrackBar的简单应用 100 实例079 SplitContainer的应用 102 实例080 MaskedTextBox控件的简单应用 103 实例081 ...

    SQLServer 数据库的数据汇总完全解析(WITH ROLLUP)

    在处理这类问题时,`GROUP BY`语句是基础,但有时需要更高级的功能来生成带有子总计和总计的报告,这就需要用到`WITH ROLLUP`运算符。`WITH ROLLUP`是SQL Server提供的一个功能,它允许你生成类似于`GROUP BY`的分组...

    T-sql简单介绍

    上面的例子中,`WITH CUBE` 会生成按 `cust_id` 分组的结果,同时也会包括所有行的汇总结果(即不考虑 `cust_id`)。 #### ROLLUP `ROLLUP` 类似于 `CUBE`,但它只提供按顺序的分组组合。例如: ```sql SELECT cust...

    grouping or grouping_id in ORACLE

    这两种函数主要用于处理复杂的分组情况,尤其是在使用`ROLLUP` 或 `CUBE` 时更为显著。下面将详细介绍这两者的工作原理以及如何在实际查询中使用它们。 ### GROUPING `GROUPING` 函数用于标识每个汇总行是否属于...

    T-SQL语句执行的顺序

    CUBE和ROLLUP是用于创建多维数据集的运算符,提供汇总的不同层次。在这个例子中未使用,但它们可以生成交叉总计或子总计。 10. **HAVING**: HAVING子句用于过滤GROUP BY后的结果集,它类似于WHERE,但作用于分组...

    数据库复习题2答案.doc

    `GROUP BY ROLLUP`和`GROUP BY CUBE`都是SQL中用于多级分组的方法,用于生成不同级别的汇总数据。 - `GROUP BY ROLLUP`(building, room number, time_slot_id)会产生所有可能的子集,从完整的三元组到每个单独...

    oracle分析函数介绍

    1. **自动汇总函数Rollup, Cube** Rollup函数用于生成多级汇总数据,它可以创建一个类似于SQL GROUP BY语句的“GROUP BY GROUPING SETS”的效果。例如,可以计算每个区域、每个网络类型以及整个数据集的总费用。 ...

Global site tag (gtag.js) - Google Analytics