在使用前需要安装达梦数据库,并创建示例库DMHR

● ROLLUP ●

比如获取公司各城市每个部门员工人数分布和薪资分布情况,使用group by rollup的sql样例参考如下:

从结果集中可以看出group by rollup聚合了城市和部门组合,城市组合,所有组合三种情况。输出结果展示如下:

SELECTC.CITY_NAME                                                 ,DEPT.DEPARTMENT_NAME                                        ,COUNT(                       *) TOAL_PERSONNUM              ,ROUND((RATIO_TO_REPORT(COUNT(*))OVER())*100, 2) PERSON_RATIO,SUM(EMP.SALARY) TOTAL_SALARY                                ,ROUND((RATIO_TO_REPORT(SUM(EMP.SALARY))OVER())*100, 2) SAL_RATIO
FROMDMHR.EMPLOYEE EMP   ,DMHR.DEPARTMENT DEPT,DMHR.LOCATION L     ,DMHR.CITY C
WHEREEMP.DEPARTMENT_ID = DEPT.DEPARTMENT_ID(+)AND DEPT.LOCATION_ID  = L.LOCATION_ID(+)AND L.CITY_ID         = C.CITY_ID(+)
GROUP BYROLLUP (C.CITY_NAME, DEPT.DEPARTMENT_NAME);

结果集如下

从结果集中可以看出group by rollup聚合了城市和部门组合,城市组合,所有组合三种情况。输出结果展示如下:

● CUBE ●

上例中的sql将rollup换成cube,sql样例参考如下:

selectc.city_name                                                 ,dept.department_name                                        ,count(                       *) toal_personnum              ,round((ratio_to_report(count(*))over())*100, 2) person_ratio,sum(emp.salary) total_salary                                ,round((ratio_to_report(sum(emp.salary))over())*100, 2) sal_ratio
fromDMHR.employee emp   ,DMHR.department dept,DMHR.location l     ,DMHR.city c
whereemp.department_id = dept.department_id(+)and dept.location_id  = l.location_id(+)and l.city_id         = c.city_id(+)
group bycube (c.city_name, dept.department_name);

结果集如下:

从结果集中可以看出group by cube聚合了城市和部门组合,城市组合,部门组合,所有组合四种情况。结果集展示如下:

达梦cube和rollup函数使用相关推荐

  1. 数据库创建函数_达梦数据库创建UUID函数

    数据库创建函数_达梦数据库创建UUID函数 接触达梦数据库有一段时间了,整理了一些资料,今天分享一下达梦数据UUID自定义函数 UUID函数定义 很多数据库都有提供UUID函数,可是接触达梦数据库后, ...

  2. 达梦数据库聚合拼接函数

    语法与Oracle相同 wm_concat() select id,name, wm_concat(class) from sutdent group by id,name

  3. 达梦数据库 find_in_set 函数适配

    在迁移MySQL的时候碰到一个问题:FIND_IN_SET 在达梦中运行会报错,在网上发现有很多人都记录了这个问题,借鉴网上的分享,我在此也记录一下,希望可以帮助被这个问题困扰的人. 首先:自建 FI ...

  4. 达梦数据库比较string大小的函数,类似于mysql的​strcmp函数​

    strcmp函数是string compare(字符串比较)的缩写,用于比较两个字符串并根据比较结果返回整数.基本形式为strcmp(str1,str2),若str1=str2,则返回零:若str1& ...

  5. 达梦想oracle迁移,oracle存储过程迁移达梦心得

    这几天把项目的存储过程从oracle迁移到了达梦8,记录一下心得.国产数据库做到这样,已经算很了不起了,跟oracle兼容性确实很高. 但还是有一些细节没做好,主要是出错提示不友好,另外一个网上的资料 ...

  6. 信创-东方通和达梦适配

    1 TLQ8.0 简单的例子,发送MQ,然后收消息连接是一样的,要不断去拉取数据消费的 public static void main(String[] args) {//==发送消息的目的队列Str ...

  7. 关系型数据库迁移达梦数据库

    前言 本文章描述对于金融机构纷纷转用国产数据库进行市场调研,在业务背景中做了粗略说明.同时详细介绍达梦数据库特性和优势.在项目中通常会使用第三方组件,在文章中以Flowable为例提供了解决方案. 业 ...

  8. 国产数据库达梦与ORACLE的异同概述

    达梦数据库是一款优秀的国产数据库,在设计时参考了oracle的架构.所以从oracle转到达梦相对比较容易. 本文简单列举一些达梦数据库和oracle之间的不同.以下以麒麟v10平台上的dm8版本为例 ...

  9. groupby函数_干货分享|达梦数据库常用集函数与分析函数(下)

    上次主要介绍达梦数据库的常用集函数和分析函数,这次在上次的基础上继续介绍相邻函数 LAG 和 LEAD,占比函数RATIO_TO_REPORT等分析函数,并补充介绍分组函数GROUP BY.ROLLU ...

最新文章

  1. input与select在不同浏览器上的宽度显示不同及IE背景图显示问题
  2. 大学电路题目怎么搜_电路(二),中国大学MOOC(慕课)答案公众号搜题
  3. day011_步入百万年薪的第十一天
  4. JavaJDK中的命令行工具
  5. outlook存档邮件_如何在Outlook 2013中存档电子邮件
  6. php如何检查图片是否一样,图片检测 - PHP判断真实图片
  7. 微信小程序中相机api_微信小程序 Image API实例详解
  8. SLAM 无人车融合 IMU 前与 融合 IMU 后的实测效果演示
  9. iOS之HealthKit使用
  10. ARCore从零到一 (7) 用图片识别做AR卡片和书籍
  11. 2018-7-16 2-1 分别由signed 和unsigned 限定的 char,short,int,long类型变量的取值范围
  12. 奇葩年年有,每年都很多,临近年关那些奇葩的年终奖
  13. ilasm 和 ildasm 的路径
  14. 干货分享丨​供应链管理-ERP的前世今生
  15. 什么是Barr-C?
  16. 多播传输模式下的卫星通信安全波束成形算法
  17. Midway-ModelProxy — 轻量级的接口配置建模框架
  18. [C陷阱]getchar的返回值是int而不是char
  19. CentOS 7.6 源码安装搭建LNMP架构(Nginx、MYSQL、PHP)
  20. 阿里大学开放 11 门免费 Python 视频课程

热门文章

  1. 第 3 章 基本数据类型
  2. 基于启发式蝙蝠算法、粒子群算法、花轮询算法和布谷鸟搜索算法的换热器PI控制器优化(Matlab代码实现)
  3. 带状矩阵[BandMatrix]解网格图一类问题
  4. 照片宽高比怎么设置_用好PPT插件,三分钟就能搞定一个心形照片墙
  5. 搜狗成第8大广告投放平台 ARPU值大幅升
  6. 苏州企业认定为高新技术企业后就可以享受所得税优惠吗
  7. MBA-day10数学-浓度问题
  8. 渗透测试--越权测试BroupSuite安装教程
  9. vue之实现移动端的复制粘贴功能(两种写法)
  10. MSP430单片机各种寄存器总结(2)——UCS