当前位置: 首页 > 编程日记 > 正文

Oracle 聚合函数(Aggregate Functions)说明

Oracle Aggregate Functions用过很多,官网的说明如下:

Aggregate Functions

http://docs.oracle.com/cd/E11882_01/server.112/e26088/functions003.htm#SQLRF20035

Aggregatefunctions return a single result row based on groups of rows, rather than onsingle rows. Aggregate functions can appear in select lists and in ORDER BY andHAVING clauses. They are commonly used with the GROUP BY clausein a SELECT statement, where Oracle Database divides the rows of aqueried table or view into groups. In a query containing a GROUP BY clause,the elements of the select list can be aggregate functions, GROUP BY expressions,constants, or expressions involving one of these. Oracle applies the aggregatefunctions to each group of rows and returns a single result row for each group.

--聚合函数根据group的情况,返回每个groups里的一个result。 聚合函数可以使用orderby 和 having 的子句中使用。

If you omit the GROUP BY clause,then Oracle applies aggregate functions in the select list to all the rows inthe queried table or view. You use aggregate functions in the HAVING clauseto eliminate groups from the output based on the results of the aggregatefunctions, rather than on the values of the individual rows of the queriedtable or view.

--如果省略group by 子句,那么聚合函数针对查询表或视图的所有记录生效。

Many (but notall) aggregate functions that take a single argument accept these clauses:

一些聚合函数可以在子句中带一个参数,如:

(1)DISTINCT and UNIQUE,which are synonymous, cause an aggregate function to consider only distinctvalues of the argument expression. The syntax diagrams for aggregate functionsin this chapter use the keyword DISTINCT for simplicity.

(2)ALL causes an aggregatefunction to consider all values, including all duplicates.

For example, the DISTINCT averageof 1, 1, 1, and 3 is 2. The ALL average is 1.5. If you specifyneither, then the default is ALL.

Some aggregatefunctions allow the windowing_clause, which is part of the syntax ofanalytic functions. Refer to windowing_clause forinformation about this clause. In the listing of aggregate functions at the endof this section, the functions that allow the windowing_clause arefollowed by an asterisk (*)

--一些aggregrate 函数允许使用开窗函数,开窗函数是分析函数的组成部分,在下面列出的aggregate functions 中,后面加星号的就是可以使用开窗子句的。

有关分析函数参考:

Oracle 分析函数(Analytic Functions) 说明

http://blog.csdn.net/tianlesoftware/article/details/4795632

All aggregate functions except COUNT(*), GROUPING,and GROUPING_ID ignore nulls. You can use the NVL functionin the argument to an aggregate function to substitute a value for a null. COUNT and REGR_COUNT neverreturn null, but return either a number or zero. For all the remainingaggregate functions, if the data set contains no rows, or contains only rowswith nulls as arguments to the aggregate function, then the function returnsnull.

--除了count(*),grouping,和grouping_id外,所有的聚合函数都会忽略nulls。 当我们遇到Null 时,可以在聚合函数中使用NVL 函数来处理null。

Count 和Regr_count 聚合函数不会返回null,而是返回0或者某个数字。 其他的聚合函数当没有rows 则返回null。

NVL 用法:

NVL(eExpression1,eExpression2)

如果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。如果 eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回 NULL。

  因此使用NVL可以过滤NULL值。

The aggregate functions MIN, MAX, SUM, AVG, COUNT, VARIANCE,and STDDEV, when followed by the KEEP keyword, can be used inconjunction with the FIRST or LAST function to operate on a setof values from a set of rows that rank as the FIRST or LAST withrespect to a given sorting specification. Refer to FIRST formore information.

You can nestaggregate functions.

--聚合函数可以嵌套使用,示例如下:

For example, thefollowing example calculates the average of the maximum salaries of all thedepartments in the sample schema hr:

SELECT AVG(MAX(salary))

FROM employees

GROUP BY department_id;

AVG(MAX(SALARY))

----------------

10926.3333

This calculation evaluates the inner aggregate (MAX(salary)) for each group defined by the GROUP BY clause(department_id), and aggregates the results again.

In the list ofaggregate functions that follows, functions followed by an asterisk (*) allowthe windowing_clause.

--聚合函数的列表如下,加星号的可以使用开窗子句,具体每个聚合函数的用法参考官方文档。

AVG
COLLECT
CORR
CORR_*
COUNT
COVAR_POP
COVAR_SAMP
CUME_DIST
DENSE_RANK
FIRST
GROUP_ID
GROUPING
GROUPING_ID
LAST
LISTAGG
MAX
MEDIAN
MIN
PERCENT_RANK
PERCENTILE_CONT
PERCENTILE_DISC
RANK
REGR_(Linear Regression) Functions
STATS_BINOMIAL_TEST
STATS_CROSSTAB
STATS_F_TEST
STATS_KS_TEST
STATS_MODE
STATS_MW_TEST
STATS_ONE_WAY_ANOVA
STATS_T_TEST_*
STATS_WSR_TEST
STDDEV
STDDEV_POP
STDDEV_SAMP
SUM
SYS_XMLAGG
VAR_POP
VAR_SAMP
VARIANCE
XMLAGG

-------------------------------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

Blog:     http://blog.csdn.net/tianlesoftware

Weibo: http://weibo.com/tianlesoftware

Email:   tianlesoftware@gmail.com

Skype: tianlesoftware

-------加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请----

DBA1 群:62697716(满);   DBA2 群:62697977(满)  DBA3 群:62697850(满)

DBA 超级群:63306533(满);  DBA4 群:83829929   DBA5群: 142216823

DBA6 群:158654907    DBA7 群:172855474  DBA8群:102954821

转载于:https://www.cnblogs.com/Hiberniane/archive/2011/12/09/2488302.html

相关文章:

【OpenCV】正确创建用于保存YUV420P格式的cv::Mat

1、问题描述 cv::Mat保存RGB24或BRG24格式时,传入宽、高和格式类型CV_8UC3就行了;今天在创建cv::Mat用来保存YUV420P时,有点懵圈了,因为类型是CV_8UC1,直接传宽和高,只能保存Y分量。因此需要宽或者高乘以一…

特斯拉全新自动驾驶芯片最强?英伟达回怼,投资者用脚投票

整理 | 一一出品 | AI科技大本营(ID:rgznai100)马斯克前脚刚说完自家发布的自动驾驶计算机是全球最强,后脚就被英伟达怼了。在刚刚结束的自动驾驶投资者日上,特斯拉发布了全自动驾驶(FSD)计算机&#xff08…

2012年我的十大工程9——形象工程

形象对于每一个人来说都很重要,人以群分,物以类聚!说的就是这个道理,不同的人接触不同的社会,不同的级别接触不同的层面。还记得我【千日计划】项目中怎么说的吗?第七项:改良自己的外貌形象。老…

【MySQL】ubuntu16.04安装mysql,然后源码编译Qt5.12.4版本的libqsqlmysql.so

一、Ubuntu16.04.5 安装 MySQL 1、使用apt命令安装 sudo apt install mysql-server安装过程会提示,推荐设置MySQL的root用户密码(注意:这里root不是指ubuntu系统的root) While not mandatory, it is highly recommended that you set a password for the MySQL administr…

A* 算法之父、人工智能先驱Nils Nilsson逝世 | 缅怀

整理 | 琥珀出品 | AI科技大本营(id:rgznai100)2019 年 4 月 23 日,人工智能学科创始研究者之一、斯坦福大学计算机科学系 Kumagai 教授 Nils J. Nilsson 逝世,享年 86 岁。Nils J. Nilsson(1933 年 2 月 6…

类执行方法的过程与运行时

大家都知道,调用一个未声明方法大多数情况下会崩溃,崩溃信息就是unrecognized selector sent to instance;是的,的确大多数情况下是这样的,但是有了运行时就不一定了,这就是我今天的主题——“安全类”(哈哈…

NandFlash系列之一:NorFlash与NandFlash对比

NandFlash系列之一:NorFlash与NandFlash对比作者:刘洪涛,华清远见嵌入式学院高级讲师。FLASH存储器又称闪存,主要有两种:NorFlash和NandFlash,下面我们从多个角度来对比介绍一下。在实际开发中,…

机器学习萌新必备的三种优化算法 | 选型指南

作者 | Nasir Hemed编译 | Rachel出品 | AI科技大本营(id:rgznai100)【导读】在本文中,作者对常用的三种机器学习优化算法(牛顿法、梯度下降法、最速下降法)进行了介绍和比较,并结合算法的数学原…

【MySQL】缩略语PK NN UQ BIN UN ZF AI G、基本操作语句

一、缩略语 PK:primary key 主键 NN:not null 非空 UQ:unique 唯一索引 BIN:binary 二进制数据 UN:unsigned 无符号整数(非负数) ZF:zero fill 填充0 例如字段内容是1 int(4), 则内…

C#(WPF)去除事件中注册的事件处理方法!

在WPF中,移除一个事件中已经注册的处理方法,看似简单,实际还是很痛苦的一件事情。因为C#的灵活性,定义事件的方法也是多种多样。我自己定义了一个事件: public event EventHandler TestEvent; 当我想注销这个事件上注册…

memcached图形界面的监控

wget http://livebookmark.net/memcachephp/memcachephp.zip 前提是已经安装了php和memcached 图形界面的监控是通过memcache.php来实现的, 1.把该php程序拷贝到nginx的html根目录 [rootcacti srv]# cd /usr/local/nginx/html 2. 更改相应的连接IP和端口…

薅百度GPU羊毛!PaddlePaddle大升级,比Google更懂中文,打响AI开发者争夺战

记者 | 阿司匹林出品 | AI科技大本营(ID: rgznai100)深度学习已经推动人工智能进入工业大生产阶段,而深度学习框架则是智能时代的操作系统。在4月23日下午的Wave Summit深度学习开发者峰会上,百度高级副总裁王海峰开场就为深度学习…

vue中axios如何实现token验证

title: vue中axios如何实现token验证 date: 2018-02-08 17:50:07 tags: [axios,vue] 继上篇实现Auth认证之后,然后每个跳转页面都会在后端验证token的存在 然后那天晚上通过模仿Auth发送请求,发送成功(上篇末尾的方式) 但是今天再继续写,发现每个页面请求都要发送token验证 就比…

【视频】视频方面大神博客总结

1、雷霄骅博客 [总结]视音频编解码技术零基础学习方法:雷神对音视频技术的总结,包括:视频播放器原理、流媒体协议、封装格式、视频编码、音频编码、网络视音频平台对比。首先对雷神的顶礼膜拜,学完这篇博客,就算跨入音…

IHttpHandler 在SharePoint中的应用

1. 一个文件名为VCChartHandler.ashx&#xff0c;其文件代码为: <% WebHandler Language"C#" Class"VCSharePoint.BL.VCHandler,VCSharePoint, Version1.0.0.0, Cultureneutral, PublicKeyToken0134fd28ed40d3b2"%>2. 另一个类为VCHandler.cs的文件…

普通人也能用AI拍出3D大片?这位清华博士后这么做

从《阿凡达》到《流浪地球》&#xff0c;从好莱坞科幻 3D 电影之最到中国科幻 3D 电影之最&#xff0c;从 2009 年到 2019 年&#xff0c;近十年的岁月&#xff0c;见证了中国 3D 影视制作的快速成长和繁盛&#xff0c;也刺激着赵天奇探索人工智能与影视制作结合应用的信心。影…

[asp.net core]SignalR一个例子

摘要 在一个后台管理的页面想实时监控一些操作的数据&#xff0c;想到用signalR。 一个例子 asp.net coresignalR 使用Nuget安装包&#xff1a;Microsoft.AspNetCore.SignalR 在StartUp中启用signalR // This method gets called by the runtime. Use this method to add serv…

【FFmpeg】截至ffmpeg4.2不推荐(Deprecate)继续使用的接口,以及代替它的接口汇总

1、问题描述 使用ffmpeg库写程序,编译时,经常报警告“xxx is deprecated” 查看源码时,该接口或结构体字段被标记attribute_deprecated,表示它已经过时,不推荐使用。 如: attribute_deprecated void avcodec_register(AVCodec *codec);attribute_deprecated void avcod…

Asp.net开发过程中,我们会遇到很多Exception

在Asp.net开发过程中&#xff0c;我们会遇到很多Exception&#xff0c;不处理这些Exception的话会出现很难看的页面。还有一些我们未预料到的Exception&#xff0c;当发生Exception时&#xff0c;我们也必须进行记录具体位置&#xff0c;以便我们修正错误。asp.net异常处理的位…

【经验】对一个合格C++高级工程师(音视频方向)的要求

1、C高级工程师 经过查看招聘网站上对“C高级工程师”这个职位的招聘要求&#xff0c;只总结了技术、能力要求&#xff0c;不涉及工作年限、学历 具体要求如下&#xff1a; 精通C面向对象程序设计&#xff1b; 熟悉设计模式&#xff1b; 敏捷开发经验&#xff1b; 扎实数据结…

马云:腾讯不是阿里要打败的对手,是同为社会创造价值的伴侣

整理 | 琥珀出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;近日&#xff0c;在甘肃敦煌举办的 2019 年中国绿公司年会上&#xff0c;阿里巴巴创始人、董事局主席马云谈及企业间的竞争时&#xff0c;提到了与腾讯的关系。他表示&#xff0c;没有腾讯&#xff0c;阿里…

Win10 | Mac 在server上统一办公

一个非常实际的问题&#xff0c;通常我们主要有三个工作的地点&#xff1a;1&#xff0c;server&#xff0c;用于大型数据的分析和处理&#xff1b;2&#xff0c;办公室的电脑&#xff0c;正式办公&#xff1b;3.自己的电脑&#xff0c;偶尔加班。 不同的工作平台之间很难同步&…

JDK5.0新特性系列---目录

JDK5.0新特性系列---目录 JDK5.0新特性系列---1.自动装箱和拆箱 JDK5.0新特性系列---2.新的for循环 JDK5.0新特性系列---3.枚举类型 JDK5.0新特性系列---4.静态导入 JDK5.0新特性系列---5.可变长参数Varargs JDK5.0新特性系列---6.格式化输出 JDK5.0新特性系列---7.使用Proce…

怎样搞定分类表格数据?有人用TF2.0构建了一套神经网络 | 技术头条

作者 | 王树义来源 | 玉树芝兰&#xff08;ID&#xff1a;nkwangshuyi&#xff09;以客户流失数据为例&#xff0c;看 Tensorflow 2.0 版本如何帮助我们快速构建表格&#xff08;结构化&#xff09;数据的神经网络分类模型。变化表格数据&#xff0c;你应该并不陌生。毕竟&…

【FFmpeg】Hello World!尝试如何编译FFmpeg程序

1、说明 下面的例子只演示,编译FFmpeg时用的头文件和库,不涉及编解码,只调用一个可以打印编译FFmpeg库的配置项的接口:avcodec_configuration() 2、avCfg.c #include <stdio.h> #include <libavcodec/avcodec.h>int main(int argc,char *argv[]

x-pack watch邮件报警配置

参考网址&#xff1a; https://www.cnblogs.com/reboot51/p/8328720.html https://www.elastic.co/guide/en/x-pack/5.6/actions-email.html #邮件设置 elasticsearch 配置 xpack.notification.email.account:exchange_account:profile: outlookemail_defaults:from: infomail.…

虚拟桌面的备份恢复最佳实践 第一部分

摘要 VMware View 是目前虚拟桌面市场的旗舰产品。借助它&#xff0c;企业可以将办公系统、应用和基础架构以高性能、高度可扩展的集中式托管服务形式交付给用户。View 还可提供保护它所支持的系统和应用以及相关用户数据所需的功能。它支持方便地备份和还原存档数据。 通常&…

Python程序员Debug利器,和Print说再见 | 技术头条

整理 | Rachel责编 | Jane出品 | Python大本营&#xff08;id&#xff1a;pythonnews&#xff09;【导语】程序员每日都在和 debug 相伴。新手程序员需要学习的 debug 手段复杂多样&#xff0c;设置断点、查看变量值……一些网站还专门针对debug撰写了新手教程。老司机们在大型…

【FFmpeg】解决警告warning: xxx is deprecated [-Wdeprecated-declarations]的方法

1、问题描述 编译FFmpeg程序时,经常报一些关于“deprecated”的警告信息,具体内容如下: decode.cpp:28:2: warning: ‘void av_register_all()’ is deprecated [-Wdeprecated-declarations]av_register_all(); decode.<

[BZOJ2527]Meteors

整体二分挺好玩的...学一发 这个询问显然是可以二分的&#xff0c;但每次都二分就会T爆&#xff0c;所以我们有了“整体”二分 每次处理一些询问&#xff0c;要求这些询问的答案一定在$[l,r]$中 先把$l$到$mid$的操作实施&#xff0c;那么当前TAK的询问答案一定在$[l,mid]$中&a…