分組案列總結:
範例:顯示所有非銷售人員的工作名稱以及從事同一工作雇員的月工資總和,並且要求滿足從事同一工作雇員的月工資的合計大於5000,顯示的結果按照月工資的合計升序排列;
第一步:查詢所以人非銷售人員的信息。
select *
from scott.emp
where job<>‘SALESMAN’;
第二步:按照職位進行分組,而後求出工資的總支出:
select job,SUM(sal)
from scott.emp
where job<>‘SALESMAN’
group by job;
第三部:分組後的數據進行再次篩選,使用HAVING語句
select job,SUM(sal)
from scott.emp
where job<>‘SALESMAN’
group by job
having sum(sal)>5000;
第四步:按照月工資的合計升序排列;使用order by
select job,SUM(sal) sum
from scoot.emp
where job<>‘SALESMAN’
group by job
having sum(sal)>5000
order by sum;
範例二:查詢出所有領取傭金的雇員的人數,平均工資。
select ’領取傭金‘ info ,count(*), avg(sal)
from scott.emp
where comm is not null
UNION
select ‘不領取傭金‘ info, count(*),avg(sal)
from scott.emp
where comm is null;
分組案列總結: