oracle dba培訓(xùn):分組函數(shù)
最新學(xué)訊:近期OCP認(rèn)證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯(lián)系在線老師,甲骨文官方認(rèn)證,報名從速!
我要咨詢COUNT
如果數(shù)據(jù)庫表的沒有數(shù)據(jù),count(*)返回的不是 null,而是 0
Avg,max,min,sum
分組函數(shù)與空值
分組函數(shù)省略列中的空值 select avg(comm) from emp; select sum(comm) from emp;
可使用 NVL()函數(shù)強制分組函數(shù)處理空值
select avg(nvl(comm, 0)) from emp;
GROUP BY 子句
出現(xiàn)在 SELECT 列表中的字段或者出現(xiàn)在 order by 后面的字段,如果不是包含在分組函數(shù)
中,那么該字段必須同時在 GROUP BY 子句中出現(xiàn)。
包含在 GROUP BY 子句中的字段則不必須出現(xiàn)在 SELECT 列表中。 可使用 where 字句限定查詢條件
可使用 Order by 子句指定排序方式
如果沒有 GROUP BY 子句,SELECT 列表中不允許出現(xiàn)字 段(單行函數(shù))與分組函數(shù)混用的情況。
select empno, sal from emp; //合法
select avg(sal) from emp; //合法
select empno, initcap(ename), avg(sal) from emp; //非法
不允許在 WHERE 子句中使用分組函數(shù)。
select deptno, avg(sal)
from emp
where avg(sal) > 2000;
group by deptno;
HAVING 子句
select deptno, job, avg(sal)
from emp
where hiredate >= to_date('1981-05-01','yyyy-mm-dd')
group by deptno,job having avg(sal) > 1200 order by deptno,job;
分組函數(shù)嵌套
select max(avg(sal))
from emp
group by deptno;
- 陳衛(wèi)星-老師CUUG金牌講師
- 陳老師 CUUG金牌講師 精通Oracle管理、備份恢復(fù)、性能優(yōu)化 11年Ora...[詳細了解老師]
