综合数据和分组函数

desc emp;

综合数据和分组函数_第1张图片
  

COUNT函数

select count(*) from emp;

综合数据和分组函数_第2张图片

 

select count(mgr) from emp;

综合数据和分组函数_第3张图片
 
AVG和SUM函数

select avg(sal) "Average Salary", sum(sal) "Summary", count(sal) "Records" from emp;

综合数据和分组函数_第4张图片
 

MIN和MAX函数

select min(sal) "Lowest Salary", max(sal) "Highest Salary" from emp;

综合数据和分组函数_第5张图片
 

select min(job), max(job) from emp;

综合数据和分组函数_第6张图片

 

select min(hiredate) "First Day", max(hiredate) "Last Day" from emp;

综合数据和分组函数_第7张图片
 
GROUP BY子句

select job, avg(sal) "Average Salary"
from emp
group by job
order by "Average Salary" desc;

综合数据和分组函数_第8张图片

 

HAVING子句

select job, avg(sal)
from emp
group by job
having avg(sal) > 1500
order by 2;

综合数据和分组函数_第9张图片

 

分组函数的嵌套

 

select min(avg(sal)), max(avg(sal))
from emp
where job not like 'PRESI%'
group by job;
综合数据和分组函数_第10张图片
 

 

分组函数的空值问题

除了count(*)以外,其他的分组函数都不处理空值(NULL)

select avg(comm) from emp;

综合数据和分组函数_第11张图片

 

select avg(comm), sum(comm), count(comm), job
from emp
group by job;

综合数据和分组函数_第12张图片
 
NVL函数在分组函数中的使用

select avg(nvl(comm, 0)) from emp;

综合数据和分组函数_第13张图片

 

select avg(nvl(comm, 0)), sum(nvl(comm, 0)), count(nvl(comm, 0)), job
from emp
group by job;

综合数据和分组函数_第14张图片
 
 


 


 


 

 

你可能感兴趣的:(综合数据和分组函数)