`

rollup与cube

 
阅读更多

1.rollup会对每个分组进行合计,如:

 select 
           t.a13 as product,
           t.a17 as businessline,
           sum(t.par_bal) par_bal
 from rp_port t
 where substr(t.a13, 1, 1) in (1) and rownum<15
 group by rollup(t.a13,t.a17)

 结果:                   

product businessline parbal
    320245274.4
1010101001   201800000
1010101001 11 201800000
1010101008   97430.25
1010101008 11 97430.25
1010102001   30000000
1010102001 11 30000000
1010102002   75000000
1010102002 11 75000000
1010102003   5096444.11
1010102003 12 5096444.11
1020302000   8251400
1020302000 41 8251400

 

 rollup(parm1,parm2...)中,以parm1的角度看分组统计,如:

 select 
           t.a13 as product,
           t.a17 as businessline,
           sum(t.par_bal) par_bal
 from rp_port t
 where substr(t.a13, 1, 1) in (1) and rownum<15
 group by rollup(t.a17,t.a13)

 结果: 

product businessline parbal
    320245274.4
  11 306897430.3
1010101001 11 201800000
1010101008 11 97430.25
1010102001 11 30000000
1010102002 11 75000000
  12 5096444.11
1010102003 12 5096444.11
  41 8251400
1020302000 41 8251400

 2.cube即展示出交叉表的效果,cube(parm1,parm2...)参数位置没有影响,如:

 select 
           t.a13 as product,
           t.a17 as businessline,
           sum(t.par_bal) par_bal
 from rp_port t
 where substr(t.a13, 1, 1) in (1) and rownum<15
 group by cube(t.a17,t.a13)

 结果:

 

product businessline parbal
320245274.4
1010101001 201800000
1010101008 97430.25
1010102001 30000000
1010102002 75000000
1010102003 5096444.11
1020302000 8251400
11 306897430.3
1010101001 11 201800000
1010101008 11 97430.25
1010102001 11 30000000
1010102002 11 75000000
12 5096444.11
1010102003 12 5096444.11
41 8251400
1020302000 41 8251400

 

1
0
分享到:
评论

相关推荐

    Oracle ROLLUP和CUBE 用法

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

    group by分组函数之rollup与cube用法1

    而在GROUP BY的基础上,Oracle数据库提供了两种高级分组功能:ROLLUP和CUBE,它们允许我们更灵活地生成汇总数据。 1. ROLLUP(滚联回溯): ROLLUP是GROUP BY的一个扩展,它不仅返回每个单独的分组结果,还会生成...

    SQL语句中Group BY 和Rollup以及cube用法

    #### Rollup 与 Cube 的概念介绍 - **Rollup**:用于生成包含所有可能的汇总级别的分组结果集。例如,在两个字段`部门`和`姓名`上使用`ROLLUP`,将会返回所有部门和姓名的组合,每个部门下所有员工的总和,以及整个...

    rollup及cube的使用

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

    SQL语句中Group BY 和Rollup以及cube用法.txt

    SQL Server中的用法为group by colomn with [rollup|cube],首先要弄明白rollup 和cube,就要知道group by的用法,group by 为对列进行分组,只展现分组统计的值,而 rollup 为分层次展现,cube 为展现列中所有层次...

    cube与rollup学习总结

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

    oracle中聚合函数的扩展使用(ROLLUP CUBE、GROUPING()函数与ROLLUP、CUBE的结合使用等)

    CUBE与ROLLUP类似,但提供了所有可能的列组合的小计,不仅包括逐级上升的分组,还包括所有可能的交叉分组。例如,如果我们只关心部门和职位的交叉汇总,CUBE可以做到: ```sql SELECT DIVISION, JOB_ID, SUM...

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

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

    rollup,cube,grouping sets()的个人理解

    ### rollup、cube、grouping sets()的理解及应用 在SQL查询中,当我们需要对数据进行多维度的分组统计时,经常会用到`GROUP BY`子句来完成这一任务。而在更复杂的场景下,为了方便地处理多级别的汇总数据,SQL提供...

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

    `CUBE` 子句与 `ROLLUP` 类似,但是它会生成所有可能的分组组合,而不仅仅是按照层次递减的方式。例如: - 对于 `GROUP BY CUBE(A, B)`,产生的分组包括:`GROUP BY A, B`、`GROUP BY A`、`GROUP BY B` 和 `GROUP ...

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

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

    rollup cube grouping sets的用法

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

    oracle--rollup 和cube分组累计求和

    NULL 博文链接:https://wangjingyi.iteye.com/blog/1545090

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

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

    sql 分组,统计等常用语句

    ### 八、ROLLUP与CUBE - **ROLLUP**:提供了一种汇总数据的方式,它可以生成所有可能的汇总级别。例如,计算每个客户的订单总额,并给出所有客户的订单总额: ```sql SELECT Customer, OrderNumber, SUM(Cost * ...

    Hive开窗函数测试-cube,rollup

    本篇将重点探讨Hive中的窗口函数以及如何利用它们进行cube和rollup操作。这些功能极大地增强了数据分析的能力,使得我们可以对数据进行更复杂的聚合。 窗口函数在SQL中是一种非常强大的工具,它允许我们在一个数据...

    分析函数,数据库开发

    #### 二、自动汇总函数:ROLLUP与CUBE ##### ROLLUP用法 - **功能**:ROLLUP函数主要用于生成不同层次的数据汇总。例如,在`GROUP BY ROLLUP(A, B, C)`的情况下,系统会依次对`(A, B, C)`、`(A, B)`、`(A)`以及...

    Oracle分析函数参考手册

    - [ROLLUP与CUBE](http://xsb.itpub.net/post/419/29159) - [分析函数使用例子介绍](http://xsb.itpub.net/post/419/44634) 以上内容涵盖了Oracle分析函数的基础概念、工作原理以及两种典型函数的使用方法。希望...

Global site tag (gtag.js) - Google Analytics