sql 聚合函数

聚合函数,根据输入的多行数据返回一个结果。只能出现在select语句,ORDER BY语句、having子句中。

1.COUNT()

该函数返回记录集合中所有非NULL值得总和。

2.AVG()

返回所有非NULL值得平均值。

可以用AVG(DISTINCT xxxx)排除平均值计算的重复值

3.MAX()和MIN()

返回最大值或者最小值,用于任何数据类型。日期的最大值是最迟的日期,最小值是最早的日期。

4.STDDEV()

标准差函数

5.SUM(X)

返回X中的所有值的和

6.VARIANCE()

方差函数

COUNT()是数个数、SUM() 是求和。

例题【转】:

 有员工表empinfo 

Fempno varchar2(10) not null pk, 
Fempname varchar2(20) not null, 
Fage number not null, 
Fsalary number not null 
); 
假如数据量很大约1000万条;写一个你认为最高效的SQL,用一个SQL计算以下四种人: 
fsalary>9999 and fage > 35 
fsalary>9999 and fage < 35 
fsalary <9999 and fage > 35 
fsalary <9999 and fage < 35 
每种员工的数量; 
select sum(case when fsalary > 9999 and fage > 35
then 1
else 0end) as "fsalary>9999_fage>35",
sum(case when fsalary > 9999 and fage < 35
then 1
else 0
end) as "fsalary>9999_fage<35",
sum(case when fsalary < 9999 and fage > 35
then 1
else 0
end) as "fsalary<9999_fage>35",
sum(case when fsalary < 9999 and fage < 35
then 1
else 0
end) as "fsalary<9999_fage<35"
from empinfo;v

原文地址:https://www.cnblogs.com/wangyameng/p/3904552.html