|
count |
取得記錄數(shù) |
|
sum |
求和 |
|
Avg |
取平均 |
|
Max |
取最大的數(shù) |
|
min |
取最小的數(shù) |
● 取得所有的員工數(shù)
select count(*) from emp;

Count(*)表示取得所有記錄,忽略null,為null值也會(huì)取得。
當(dāng)一行數(shù)據(jù)所有字段全部為空的場(chǎng)合,count方法是否有效 !
count方法有效!
● 取得津貼不為null員工數(shù)
select count(comm) from emp;

采用count(字段名稱),不會(huì)取得為null的紀(jì)錄。
● 取得工作崗位的個(gè)數(shù)
select count(distinct job) from emp;

Distinct可以去除重復(fù)的紀(jì)錄。
Sum可以取得某一個(gè)列的和,如果是null會(huì)略。
● 取得薪水的合計(jì)
select sum(sal) from emp;

● 取得薪水的合計(jì)(sal+comm)
select sum(sal+comm) from emp;

從以上結(jié)果來(lái)看,不正確,原因在于comm字段有null值,所以無(wú)法計(jì)算,sum會(huì)忽略掉,正確的做法是將comm字段轉(zhuǎn)換成0。
select sum(sal+nvl(comm, 0)) from emp;

取得某一列的平均值。
● 取得平均薪水
select avg(sal) from emp;

取得某個(gè)一列的最大值。
● 取得最高薪水
select max(sal) from emp;

● 取得最晚入職得員工
select max(to_char(hiredate, 'yyyy-mm-dd')) from emp;

取得某個(gè)一列的最小值。
● 取得最低薪水
select min(sal) from emp;

● 取得最早入職得員工
select min(hiredate) from emp;

可以將這些聚合函數(shù)都放到select中一起使用。
select count(*), sum(sal), avg(sal), max(sal), min(sal) from emp;
