Oracle_071_lesson_p6

分组函数Group functions

avg 求平均
count 求数量
max 求值可针对数字,日期,字符
min 求值可针对数字,日期,字符
sum 求总和
listagg
stddev
variance

select avg(salary),max(salary),min(salary),sum(salary)
from employees
where job_id like '%REP%';

select count(*)
from employees
where department_id=50;

select count(commission_pct)
from employees
where department_id=50;
空值行不参与计算

GROUP BY 分组
select department_id,avg(salary)
from employees
group by department_id;

select department_id,avg(salary)
from employees
group by department_id;
order by avg(salary);
此group by 后可跟order by ,但order by子句只能出现在最后。

select avg(salary)
from employees
group by department_id;
但group by 的列名不必一定在select 子句中

SELECT department_id, AVG(salary)
FROM employees
GROUP BY department_id
HAVING AVG(salary) > 8000;

where 子句不能加分组函数,要用having子句才能加分组函数
alias 别名不能放在group by 子句中

猜你喜欢

转载自blog.51cto.com/3938853/2152647
今日推荐