oracle聚合函数有哪些

oracle聚合函数有哪些,第1张

--1: AVG(DISTINCT|ALL)

ALL表示对所有的值求平均值,DISTINCT只对不同的值求平均值

SELECT AVG(SAL) FROM SCOTTEMP;

SELECT AVG(DISTINCT SAL) FROM SCOTTEMP;

--2: MAX(DISTINCT|ALL)

求最大值,ALL表示对所有的值求最大值,DISTINCT表示对不同的值求最大值,相同的只取一次

(加不加查询结果一致,不知DISTINCT有什么用途,不同于AVG等聚合函数)

SELECT MAX(DISTINCT SAL) FROM SCOTTEMP;

SELECT MAX(SAL) FROM SCOTTEMP

--3: MIN(DISTINCT|ALL)

求最小值,ALL表示对所有的值求最小值,DISTINCT表示对不同的值求最小值,相同的只取一次

SELECT MIN(SAL) FROM SCOTTEMP;

SELECT MIN(DISTINCT SAL) FROM SCOTTEMP;

--4: STDDEV(distinct|all)

求标准差,ALL表示对所有的值求标准差,DISTINCT表示只对不同的值求标准差

SELECT STDDEV(SAL) FROM SCOTTEMP;

SELECT STDDEV(DISTINCT SAL) FROM SCOTTEMP;

--5: VARIANCE(DISTINCT|ALL)

求协方差 ALL表示对所有的值求协方差,DISTINCT表示只对不同的值求协方差

SELECT VARIANCE(SAL) FROM SCOTTEMP;

SELECT VARIANCE(DISTINCT SAL) FROM SCOTTEMP;

--6: SUM(DISTINCT|ALL)

求和 ALL表示对所有值求和,DISTINCT表示只对不同值求和(相同值只取一次)

SELECT SUM(SAL) FROM SCOTTEMP;

SELECT SUM(DISTINCT SAL) FROM SCOTTEMP;

--7:COUNT(DISTINCT|ALL)

求记录、数据个数。 ALL对所有记录,数组做统计, DISTINCT只对不同值统计(相同值只取一次)

SELECT COUNT(SAL) FROM SCOTTEMP;

SELECT COUNT(DISTINCT SAL) FROM SCOTTEMP;

----8: MEDIAN

求中位数

SELECT MEDIAN(SAL) FROM SCOTTEMP;

SELECT MEDIAN(DISTINCT SAL) FROM SCOTTEMP; --错误:DISTINCT 选项在此函数中禁用。

聚合函数

就和名字一样,

聚合,

也就是把多行数据,

合并成一行

例如:

SUM

合计

COUNT

计数

MAX

最大

MIN

最小

AVG

平均

还有很多

非聚合函数

也和名字一样,

非聚合,

也就是

一次处理一行数据的,

不是将

多行合并成一样的

例如

ABS

绝对值

LEN

字符串长度

这个就更多了

聚合函数

就和名字一样, 聚合, 也就是把多行数据, 合并成一行

例如: SUM 合计 COUNT 计数 MAX 最大 MIN 最小 AVG 平均 还有很多

非聚合函数

也和名字一样, 非聚合, 也就是 一次处理一行数据的, 不是将 多行合并成一样的

例如 ABS 绝对值 LEN 字符串长度 这个就更多了

GROUP BY是按照什么分组,聚合函数,就是求取按照GROUP BY分组之后的聚合函数得到的值。\x0d\那么GROUP BY后边,可想而知,一定是语法中除了聚合函数之外,所以的字段了。\x0d\比如我们求和,使用SUM,表例如是员工表,部门表,员工表有员工编号,员工名,薪资,部门编号,部门表包含部门编号和部门名,求每个部门的薪资总额。\x0d\SELECT 部门名称, SUM(薪资) FROM 员工表, 部门表 WHERE 员工表部门编号 = 部门表部门编号 GROUP BY 部门名称\x0d\另外使用COUNT聚合函数计算每个部门的员工数量\x0d\SELECT 部门名称, COUNT(员工编号) FROM 员工表, 部门表 WHERE 员工表部门编号 = 部门表部门编号 GROUP BY 部门名称\x0d\\x0d\另外如果是全表检索的情况下,比如求所有部门的员工总人数,是不需要GROUP BY的\x0d\SELECT COUNT() from 员工表

SQL语句函数baicount(),如果括号中是列名称,是忽略空值NULL的,即返回列的值的数目,不包含NULL值。

COUNT函数,用于Excel中对给定数据集合或者单元格区域中数据的个数进行计数,其语法结构为COUNT(value1,value2, )。COUNT函数只能对数字数据进行统计,对于空单元格、逻辑值或者文本数据将被忽略,因此可以利用该函数来判断给定的单元格区域中是否包含空单元格。

扩展资料:

如果参数是一个数组或引用,那么只统计数组或引用中的数字;数组中或引用的空单元格、逻辑值、文字或错误值都将忽略。具体如下: 

如果参数为数字、日期或者代表数字的文本(例如,用引号引起的数字,如 "1"),则将被计算在内。

逻辑值和直接键入到参数列表中代表数字的文本被计算在内。

如果参数为错误值或不能转换为数字的文本,则不会被计算在内。

如果参数为数组或引用,则只计算数组或引用中数字的个数。不会计算数组或引用中的空单元格、逻辑值、文本或错误值。

还是想快点写完,进入下一个PowerBI专题了,应该后面再写五篇左右,就开始PowerBI系列了,然后会加一些SQL的综合使用案例。窗口函数写三篇就差不多了,后面应该还会加一些综合案例。这一篇主要介绍一下聚合函数和NTH_VALUE、NTILE函数,聚合函数和配上窗口函数使用场景还是很多,这个可以稍微 关注一下。

NTH_VALUE

NTH_VALUE(EXP,N),返回窗口中第N个EXP的值,EXP可以是表达式,也可以是列名。继续用之前的数据,取出每个用户的第二次购买的日期,SQL语句如下

从结果很明显看出,第一次购买日期是空值,从第二个购买日期开始,都是第二条购买日期记录。

NTLIE

NTILE(N),将分区中的有序数据分为n个桶,记录桶号。现在需要根据金额高低,把每个分区分成3组,SQL和结果如下

聚合函数

聚合函数参考这一篇, 《MySQL聚合函数》 。通过聚合函数作为窗口函数运算,可以动态计算在指定的窗口内的各种聚合函数值。计算每个用户,按时间排序,截止每个时间的订单数量、订单金额、平均金额、最大金额、最小金额。SQL语句和结果如下

End

SQL SERVER中聚合函数主要有:

(1)求员工总人数

(2)求最大值,求最高工资

(3)求最小时,求最小工资

(4)求和,求所有员工的工资总和

(5)求平均值,求所有员工的平均工资

ROUND函数用法:

(6)求数量,最大值,最小值,总和,平均值,在一行显示

(7)查询出武汉地区的员工人数,总工资,最高工资,最低工资和平均工资

(8)求出工资比平均工资高的人员信息

(9)求数量,年龄最大值,年龄最小值,年龄总和,年龄平均值,在一行显示

(10)计算出月薪在10000 以上的男性员工的最大年龄,最小年龄和平均年龄

(11)统计出所在地在“武汉或上海”的所有女员工数量以及最大年龄,最小年龄和平均年龄

(12)求出年龄比平均年龄高的人员信息

GETDATE() 返回当前的日期和时间

DATEPART() 返回日期/时间的单独部分

DATEADD() 返回日期中添加或减去指定的时间间隔

DATEDIFF() 返回两个日期直接的时间

DATENAME() 返回指定日期的指定日期部分的整数

CONVERT() 返回不同格式的时间

示例:

时间格式控制字符串:

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/11675665.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存