oracle 常用统计函数,Oracle常用的统计函数

【一】、Oracle常用的统计函数

Avg(x):求一组行中列x值的平均值

count(x):求一组行中列x值的非空行数

count(*):求一组行的总行数

max(x):求一组行中列x值的最大值

min(x):求一组行中列x值的最小值

stddev(x):求一组行中列x值的标准差

sum(x):求一组行中列x值的总和

variance(x):求一组行中列x值的方差

【二】、group by与统计函数

使用上面介绍的函数时可以使用也可以不使用group by

,但在使用group by时,未在group by部分用到的列在select

部分出现时必须使用统计函数,如按角色统计平均年龄

Select user_name,avg(age) from users

Group by role_id; ×

Select count(user_name),avg(age) from users

Group by role_id√

【三】、用having字句规定统计条件

having 子句的作用类似于where子句,只不过where

子句针对单个行,而having子句针对的是统计结果,一般和统计的函数搭配使用。Having子句后必须为前面select后面的子部分,或是group

by 后面的字段

select count(uer_name),avg(age) from users group by role_id having

role_id>20; ×

select count(uer_name),avg(age) from users group by role_id having

avg(age)>20; √

【四】其他oracle常用函数

Decode(column1,value1,output1,value2,output2,…..)

如果column1 有一个值为value1那么将会用output1

来代替当前值,如果column1 的值为value2 那么就用OUTPUT2

来代替当前值,如果column1 中哪两个值都不是,那么就会用OUTPUT3

来代替当前值

Select decode(age,10,7,9,6,3),user_name from users;

你可能感兴趣的:(oracle,常用统计函数)