Oracle分析函数三——SUM,AVG,MIN,MAX,COUNT
2010-09-03 12:59
549 查看
Oracle分析函数——SUM,AVG,MIN,MAX,COUNT
SUM
功能描述:该函数计算组中表达式的累积和。
SAMPLE:下例计算同一经理下员工的薪水累积值
MIN
功能描述:在一个组中的数据窗口中查找表达式的最小值。
SAMPLE:下面例子中dept_min返回当前行所在部门的最小薪水值
MAX
功能描述:在一个组中的数据窗口中查找表达式的最大值。
SAMPLE:下面例子中dept_max返回当前行所在部门的最大薪水值
AVG
功能描述:用于计算一个组和数据窗口内表达式的平均值。
SAMPLE:下面的例子中列c_mavg计算员工表中每个员工的平均薪水报告
COUNT
功能描述:对一组内发生的事情进行累积计数,如果指定*或一些非空常数,count将对所有行计数,如果指定一个表达式,count返回表达式非空赋值的计数,当有相同值出现时,这些相等的值都会被纳入被计算的值;可以使用DISTINCT来记录去掉一组中完全相同的数据后出现的行数。
SAMPLE:下面例子中计算每个员工在按薪水排序中当前行附近薪水在[n-50,n+150]之间的行数,n表示当前行的薪水
例如,Philtanker的薪水2200,排在他之前的行中薪水大于等于2200-50的有1行,排在他之后的行中薪水小于等于2200+150的行没有,所以count计数值cnt3为2(包括自己当前行);cnt2值相当于小于等于当前行的SALARY值的所有行数
SUM
功能描述:该函数计算组中表达式的累积和。
SAMPLE:下例计算同一经理下员工的薪水累积值
MIN
功能描述:在一个组中的数据窗口中查找表达式的最小值。
SAMPLE:下面例子中dept_min返回当前行所在部门的最小薪水值
MAX
功能描述:在一个组中的数据窗口中查找表达式的最大值。
SAMPLE:下面例子中dept_max返回当前行所在部门的最大薪水值
AVG
功能描述:用于计算一个组和数据窗口内表达式的平均值。
SAMPLE:下面的例子中列c_mavg计算员工表中每个员工的平均薪水报告
select department_id, first_name || ' ' || last_name employee_name, hire_date, salary, min(salary) over(partition by department_id order by hire_date) as dept_min, max(salary) over(partition by department_id order by hire_date) as dept_max, avg(salary) over(partition by department_id order by hire_date) as dept_avg, sum(salary) over(partition by department_id order by hire_date) as dept_sum, count(*) over(order by salary) as count_by_salary, count(*) over(order by salary range between 50 preceding and 150 following) as count_by_salary_range from employees
COUNT
功能描述:对一组内发生的事情进行累积计数,如果指定*或一些非空常数,count将对所有行计数,如果指定一个表达式,count返回表达式非空赋值的计数,当有相同值出现时,这些相等的值都会被纳入被计算的值;可以使用DISTINCT来记录去掉一组中完全相同的数据后出现的行数。
SAMPLE:下面例子中计算每个员工在按薪水排序中当前行附近薪水在[n-50,n+150]之间的行数,n表示当前行的薪水
例如,Philtanker的薪水2200,排在他之前的行中薪水大于等于2200-50的有1行,排在他之后的行中薪水小于等于2200+150的行没有,所以count计数值cnt3为2(包括自己当前行);cnt2值相当于小于等于当前行的SALARY值的所有行数
select department_id, first_name || ' ' || last_name employee_name, salary, count(*) over(order by salary) as count_by_salary, count(*) over(order by salary range between 50 preceding and 150 following) as count_by_salary_range from employees where department_id in (10, 20, 30);
相关文章推荐
- Oracle分析函数三——SUM,AVG,MIN,MAX,COUNT
- Oracle分析函数三——SUM,AVG,MIN,MAX,COUNT
- Oracle分析函数三——SUM,AVG,MIN,MAX,COUNT
- Oracle分析函数三——SUM,AVG,MIN,MAX,COUNT
- Oracle分析函数三——SUM,AVG,MIN,MAX,COUNT
- Oracle分析函数三——SUM,AVG,MIN,MAX,COUNT
- oracle 中的几个函数AVG (平均) COUNT (计数) MAX (最大值) MIN (最小值) SUM (总合)
- Oracle分析函数-统计(sum、avg、max、min)
- Oracle 分析函数之聚集函数(MAX、MIN、AVG和SUM)
- oracle GROUP 函數(AVG,COUNT,MAX,MIN,SUM,NVL,UID,USER,USERENV,DECODE)
- 常用分组函数count-avg-sum-max-min
- 连续求和分析函数max(...)/min(...)/avg(...)/sum(...) over ... ——分析函数1
- 6.组函数(avg(),sum(),max(),min(),count())、多行函数,分组数据(group by,求各部门的平均工资),分组过滤(having和where),sql优化
- mysql之avg(),count(),min()/max(),sum()函数
- 6.组函数(avg(),sum(),max(),min(),count())、多行函数,分组数据(group by,求各部门的平均工资),分组过滤(having和where),sql优化
- [置顶] oracle中的聚合函数count、max、min、sum、avg以及NVL函数的用法
- oracle中的聚合函数count、max、min、sum、avg等等
- Hive分析窗体函数之SUM,AVG,MIN和MAX
- oracle中的聚合函数count、max、min、sum、avg等等
- SQL中count()/max() /min()/sum()avg()/sum()等函数用法