• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > oracle--rollup 和cube分组累计求和

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

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了oracle--rollup,cube,分组,累计,求和,g等相关知识,希望本文的分享对您有所帮助

group by 语句支持基本的having条件,还支持rollup和cube提供信息汇总功能,类似小计。 rollup:纵向小计,从右向左逐个对每一列进行小结并在结果中生成独立的一行。只返回第一个分组条件指定的列的统计行。 cube:横行小计 selectd.deptno,t.job,sum(t.sal)

group by 语句支持基本的having条件,还支持rollup和cube提供信息汇总功能,类似小计。

rollup:纵向小计,从右向左逐个对每一列进行小结并在结果中生成独立的一行。只返回第一个分组条件指定的列的统计行。

cube:横行小计

  1. select d.deptno,t.job,sum(t.sal) from emp t,dept d
  2. where t.deptno=d.deptno
  3. group by rollup(d.deptno,t.job)

执行结果:

***

使用grouping_id显示指定的分组级别的记录。返回grouping()位向量的十进制值,GROUPING位向量的计算方法是将按照顺序对每一列调用GROUPING函数的结果组合起来。

例:grouping_id(a,b,c),a为空就是0非空为1,b和c也一样,结果会得到一个三位数,用二进制转换成十进制就是了,a,b,c全是非空,即111就是7,三列就是7,如果是两列自然是11就是3

select ... from 表 group by rollup(.....) having grouping_id(....)<=1

rollup(x,y)2列 rollup(x,y,z)3列
总计是grouping_id=3 总计是grouping_id=7
小计grouping_id=1 小计grouping_id=3
记录是grouping_id=0 记录是grouping_id=0

此时要求不显示最后总计行:

  1. select d.deptno,t.job,sum(t.sal) from emp t,dept d
  2. where t.deptno=d.deptno
  3. group by rollup(d.deptno,t.job)having grouping_id(d.deptno,t.job)<=1

执行结果:

实际情况中要展示结果集中汇总列加上小计和合计,此时这样处理:

执行结果:

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

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

相关文章

  • 2018-12-05html-php登陆页面的代码,md5加密
  • 2017-05-11mysql服务无法启动报错误1067解决方法(mysql启动错误1067 )
  • 2018-12-05Mysql CPU占用高的问题解决方法小结
  • 2018-12-05全面了解mysql中utf8和utf8mb4的区别_MySQL
  • 2017-05-11ERROR CODE: 1175 YOU ARE USING SAFE UPDATE MODE AN
  • 2018-12-05关于概念DDL、DML、DCL、TCL详细解释
  • 2018-12-05详解MySQL根(Root)密码在Linux(CentOS)下如何重置(图文)
  • 2018-12-05MySQL从命令行导入SQL脚本时出现中文乱码的解决方法_MySQL
  • 2017-05-11MySql中使用INSERT INTO语句更新多条数据的例子
  • 2018-12-05MySQL之-具体分析提升Replication性能的两种架构方式

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 浅谈 5.7.13 核心架构设计
    • 实现按关健字模糊查询,并按匹配度排序的SQL语句
    • 有关排他锁的课程推荐10篇
    • sysservers 中找不到服务器,请执行 sp_addlinkedserver 将该服
    • mysql 的replace into详解
    • 一个单引号引发的MYSQL性能问题分析
    • 中文Access2000速成教程--1.7 创建索引
    • 关于sql数据库信息增删改查的条件语句分别怎么写?(示例)
    • SQLServer 2005 控制用户权限访问表图文教程
    • MySQL中关于4G内存服务器配置如何优化的实例详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有