oracle数据库中分析函数大全,Oracle数据库的分析函数

over 连续的相加

求各部门的薪水总和和全部总和 select name, salary, emp

sum(salary) over (order by emp) 连续求和

sum(salary) over () 总和

100*round(sal/sum(sal) over(), 5) 份额

from company;

sum() = sum over() 求的是总和,

sum over (order by ) 求的是连续的和,即当前部门的结果+=上一个部门查询的结果

over partition by 分区 select name, salary, emp

sum(salary) over (partition by emp ) 部门总和 # 同一部门总和不变

from company;

over partition by order by 分区内部连续求和 select name, salary, emp

sum(salary) over (partition by emp order by name) 部门内部薪水连续求和

sum(salary) over (partition by emp ) 部门总和 # 同一部门总和不变

from company;

row_number | rank | dense_rank 排名

row_number  输出结果名次不跳跃,不重复

根据部门分组,显示每个部门的工资等级,按照升序排名 select name, salary, emp

row_number() over (partition by emp order by salary) as "排名"

from company;

rank 名次跳跃,针对和总数据条数的对应

语法同上,但是会有并列的情况,且并列的个数会占排序的一个位置

即如果有三个第一名并列,那么第二名的编号为4 select name, salary, emp

rank() over (partition by emp order by salary) as "排名"

from company;

dense_rank 名次不跳跃,针对名次对应的顺序

不会产生名次的跳跃,即三个第一名,那么第二名的编号依然为2,用法同上

rollup 针对group by 再次统计,作用于局部字段

根据月份和地区分组,并统计分组的工资总和,(分组的最小单位为地区)。

月份下的不同地区会衍生出多条记录,因此sum统计的是最小单位的分组记录 select mouth,area,sum(salary) from company

group by mouth, area;

根据月份和地区分组,并统计分组的工资总和,以及对当前月份工资总和以及所有的汇总

汇总的依据为分组的最大单位,即顺序靠前的分组依据; select mouth,area,sum(salary) from company

group by rollup(mouth, area);

cube 对 rollup 的升级,针对全部字段

除了根据 月份汇总外,还根据 地区汇总,并统计所有汇总的总和 select mouth,area,sum(salary) from company

group by cube(mouth, area);

grouping 对聚合结果没有字段名字的 null 值 设置别名

grouping(parm),带一个参数,参数为字段名,

如果是本身的结果就返回0,如果是聚合的结果就返回1

case ... vhen ... then ... else ... end 通用SQL条件判断语句 select mouth,

# 如果是针对月份的统计的结果,返回为0

(case vhen ((grouping(area)=1) and (grouping(mouth)=0) then "月份小记"

# 如果是针对所有结果的总和,

vhen ((grouping(area)=1) and (grouping(mouth)=1) then "总计"

# 如果两者都为0,那么就是针对地区的统计结果

else area

end) as area, sum(salary)

from company

group by rollup(mouth, area);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/501509.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

excel合并多个工作表_多个工作表或者多个工作簿的合并计算

哈喽,everybody,作为一个与excel打交道长达六年的职业老手,我会整理汇总一些十分有利于提高工作效率的小tip。也当作是我为自己知识点做的些许总结吧。今天我们就来聊聊如何快速合并多个工作表或者工作簿的这些事。话不多说,直接上…

JAVA入门级教学之(访问修饰符权限控制)

访问控制权限修饰符: 1.访问控制权限修饰符来控制元素的访问范围 public表示公开的,在任何位置都可以访问protected同包、本类、子类(出了包如果是子类没问题)缺省同包、本类(不能出包)private仅…

access字段属性设置下拉列表_CAD常用命令:ATTDEF(定义属性)

下面是本公众号文章分类目录,点击标题文字可打开分类文章列表:安装卸载 异常、退出 文件及输入输出 基本操作技巧 各种设置及相关问题 界面和显示相关问题 快捷键 视图设置和调整 图层 颜色 线型 字体、文字样式和文字输入 标注、引线和标注…

oracle定义转储目录,Oracle 12.1新特性:在线rename或relocate数据文件

在Oracle12.1之前的版本中要重命名数据文件或移动数据文件需要关闭数据库或把表空间/数据文件置为offline状态才可以,参考之前总结的要实现这一功能需要使用ALTERDATABASEMOVEDATAFILE语句,语法如下ALTER DATABASE MOVE DATAFILE ( filename | ASM_filen…

JAVA入门级教学之(super关键字)

目录 JAVA入门级教学之(super关键字) 1.super关键字用在构造方法中: 2.语法规则: 3.注意:super();的调用只能放在构造方法的第一行,和this();的调用规则一样 4.通过子类的构造方法去调用父类的构造方法…

lwip协议栈在linux运行,LwIP协议栈在uCOS II下的实现

1、概述:LwIP协议栈在设计时就考虑到了将来的移植问题,因此把所有与硬件、OS、编译器相关的部份独立出来,放在ucosii&LwIPsource etlwiparch目录下。因此LwIP在uCOS II上的实现就是修改这个目录下的文件,其它的文件一般不应该…

linux离线安装redmine_Feem:免流量跨平台文件传输工具,支持离线分享

Feem 是一款在文件传输领域打拼多年的产品,目前是基于 Wifi 局域网直连模式的文件传输服务,跨平台,在 Mac、PC、iOS、Android、Linux 皆有客户端。安装不同平台的客户端设备只要在同一无线网络,可以实现无提前配置式的自动配对&am…

JAVA入门级教学之(abstract抽象类)

目录 JAVA入门级教学之(abstract抽象类) 1.如何定义抽象类? 2.抽象类无法被实例化 3.虽然抽象类没有办法实例化,但是抽象类也有构造方法,该构造方法是给子类创建对象用的 4.抽象类中可以定义抽象方法 5.如果一个类…

linux 内核裁剪不当 死机,Linux編譯x86架構內核出現_stack_chk_guard未定義錯誤

背景android模擬器運行於virtualbox中,而virtualbox運行於x86架構的pc端,所以android及其Linux內核都編譯成x86架構。當virtualbox的vt未開啟的情況下android系統會出現各種問題,如arm庫游戲不能運行,桌面平凡掛死重啟。通過查看日…

a*算法流程图_光伏逆变器MPPT基本算法介绍李星硕

欢迎加入技术交流QQ群(2000人):电力电子技术与新能源 905723370高可靠新能源行业顶尖自媒体在这里有电力电子、新能源干货、行业发展趋势分析、最新产品介绍、众多技术达人与您分享经验,欢迎关注我们,搜索微信公众号:电力电子技术…

JAVA入门级教学之(接口)

目录 JAVA入门级教学之(接口) 接口也是一种引用类型,可以等同看做类 1.如何定义接口,语法: 2.接口中只能出现: 3.接口其实是一个特殊的抽象类,特殊在接口是完全抽象的 4.接口中没有构造方…

java 线程状态_浅析Java中的线程状态

一、线程的5种状态众所周知,Java的线程状态有5种,分别对应上图中五种不同颜色,下面对这5种状态及状态间的转化做相应的解释: 1. 初始化状态:新建一个线程对象 2. 可运行状态:其他线程调用了该线程对象的sta…

Linux7添加syslog,请教linux下安装syslog的方法.是安装,不是配置

、安装JDK从sun网站上直接下载JDK:http://java.sun.com/j2se/1.4.2/download.html 提供了两个下载:1、RPM in self-extracting file (j2sdk-1_4_2_04-linux-i586.bin, 32.77 MB) 这个是自解压的文件,在linux上安装如下:# chmod ux…

如何在jieba分词中加自定义词典_Pyspark Word2Vec + jieba 训练词向量流程

摘要:用商品描述为语料库训练商品词向量为例,分享一下用pyspark自带word2vecjieba分词训练词向量的流程.工具:python,pyspark,jieba,pandas,numpy数据格式:自定义词典,语料库均为pyspark dataframe,停用辞典不大,直接使用txt.1 create spark我的pyspark参数设置如下:def create…

linux底行模式显示信息,14天linux命令加强

linux命令加强linux命令加强.jpg复习cd./ 当前目录../ 上级目录/ 代表根目录 or 代表目录和文件之间的分隔符 ..pwd 查看当前路径LS 查看当前目录下的文件ls ./a/ 查看目标路径下的文件tab 自动补全grep 文件外部根据关键字搜索文件内容 grep -n 关键字 *(文件名)more 以分页的…

字节和位 B和b的区别

“B”不是最小的单位,“B”是Byte的意思,一个Byte等于8个bit(位),bit是最小的单位。 就好像你用宽带上网,1M、2M、10M、100M都是用bit来作为单位的,实际上以上的速度换算到B是都要除上8。 bit一…

AndroidManifest.xml详解

我们在进行APP开发的时候都会遇到一个文件:AndroidManifest.xml。从刚开始进行Android开发,到现在已经过去了几个月,还是对这个文件一知半解,只知道它是配置用的。但是这文件里的东西具体有什么用,该怎么用一直都没有理…

a标签传值到另一个页面_vue-router页面传值及接收值

前端写页面&#xff0c;我们经常需要从A页面传值给B页面&#xff0c;比如下面的场景点击“充值中”跳转到下一个页面&#xff0c;使tabbar中的页面与其对应需要上个页面传值下面来实现下&#xff1a;A页面——My.vue在去“order”页面的方法中通过params传值current1<B页面—…

本机ping不通虚拟机linux,Windows本地Linux虚拟机ping不通的解决办法

安装linux操作系统安装双操作系统; 1 0. 介绍: 1 1 实验环境: 2 2. 实验准备: 2 3.开始安装: 2 1 制作U盘启动工具: 2 2.安装LinuxOS. 3 2.1在windowOS中划分60G空间 ...VS2008编译bat工程文件为AirCode,批处理文件为bulit.bat(与*.sln文件在同级目录). 以下是批处理的代码: ec…

如何实现文件互拖-VMware Tools (ubuntu系统)安装详细过程与使用

VMware Tools &#xff08;ubuntu系统&#xff09;安装详细过程与使用 1、打开虚拟机VMware Workstation&#xff0c;启动Ubuntu系统&#xff0c;菜单栏 - 虚拟机 - 安装VMware Tools&#xff0c;不启动Ubuntu系统是无法点击“安装VMware Tools”选项的&#xff0c;如下图&…