达梦cube和rollup函数使用
在使用前需要安装达梦数据库,并创建示例库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函数使用相关推荐
- 数据库创建函数_达梦数据库创建UUID函数
数据库创建函数_达梦数据库创建UUID函数 接触达梦数据库有一段时间了,整理了一些资料,今天分享一下达梦数据UUID自定义函数 UUID函数定义 很多数据库都有提供UUID函数,可是接触达梦数据库后, ...
- 达梦数据库聚合拼接函数
语法与Oracle相同 wm_concat() select id,name, wm_concat(class) from sutdent group by id,name
- 达梦数据库 find_in_set 函数适配
在迁移MySQL的时候碰到一个问题:FIND_IN_SET 在达梦中运行会报错,在网上发现有很多人都记录了这个问题,借鉴网上的分享,我在此也记录一下,希望可以帮助被这个问题困扰的人. 首先:自建 FI ...
- 达梦数据库比较string大小的函数,类似于mysql的strcmp函数
strcmp函数是string compare(字符串比较)的缩写,用于比较两个字符串并根据比较结果返回整数.基本形式为strcmp(str1,str2),若str1=str2,则返回零:若str1& ...
- 达梦想oracle迁移,oracle存储过程迁移达梦心得
这几天把项目的存储过程从oracle迁移到了达梦8,记录一下心得.国产数据库做到这样,已经算很了不起了,跟oracle兼容性确实很高. 但还是有一些细节没做好,主要是出错提示不友好,另外一个网上的资料 ...
- 信创-东方通和达梦适配
1 TLQ8.0 简单的例子,发送MQ,然后收消息连接是一样的,要不断去拉取数据消费的 public static void main(String[] args) {//==发送消息的目的队列Str ...
- 关系型数据库迁移达梦数据库
前言 本文章描述对于金融机构纷纷转用国产数据库进行市场调研,在业务背景中做了粗略说明.同时详细介绍达梦数据库特性和优势.在项目中通常会使用第三方组件,在文章中以Flowable为例提供了解决方案. 业 ...
- 国产数据库达梦与ORACLE的异同概述
达梦数据库是一款优秀的国产数据库,在设计时参考了oracle的架构.所以从oracle转到达梦相对比较容易. 本文简单列举一些达梦数据库和oracle之间的不同.以下以麒麟v10平台上的dm8版本为例 ...
- groupby函数_干货分享|达梦数据库常用集函数与分析函数(下)
上次主要介绍达梦数据库的常用集函数和分析函数,这次在上次的基础上继续介绍相邻函数 LAG 和 LEAD,占比函数RATIO_TO_REPORT等分析函数,并补充介绍分组函数GROUP BY.ROLLU ...
最新文章
- input与select在不同浏览器上的宽度显示不同及IE背景图显示问题
- 大学电路题目怎么搜_电路(二),中国大学MOOC(慕课)答案公众号搜题
- day011_步入百万年薪的第十一天
- JavaJDK中的命令行工具
- outlook存档邮件_如何在Outlook 2013中存档电子邮件
- php如何检查图片是否一样,图片检测 - PHP判断真实图片
- 微信小程序中相机api_微信小程序 Image API实例详解
- SLAM 无人车融合 IMU 前与 融合 IMU 后的实测效果演示
- iOS之HealthKit使用
- ARCore从零到一 (7) 用图片识别做AR卡片和书籍
- 2018-7-16 2-1 分别由signed 和unsigned 限定的 char,short,int,long类型变量的取值范围
- 奇葩年年有,每年都很多,临近年关那些奇葩的年终奖
- ilasm 和 ildasm 的路径
- 干货分享丨​供应链管理-ERP的前世今生
- 什么是Barr-C?
- 多播传输模式下的卫星通信安全波束成形算法
- Midway-ModelProxy — 轻量级的接口配置建模框架
- [C陷阱]getchar的返回值是int而不是char
- CentOS 7.6 源码安装搭建LNMP架构(Nginx、MYSQL、PHP)
- 阿里大学开放 11 门免费 Python 视频课程