count |
取得記錄數 |
sum |
求和 |
Avg |
取平均 |
Max |
取最大的數 |
min |
取最小的數 |
● 取得所有的員工數
select count(*) from emp;
Count(*)表示取得所有記錄,忽略null,為null值也會取得。
當一行數據所有字段全部為空的場合,count方法是否有效 !
count方法有效!
● 取得津貼不為null員工數
select count(comm) from emp;
采用count(字段名稱),不會取得為null的紀錄。
● 取得工作崗位的個數
select count(distinct job) from emp;
Distinct可以去除重復的紀錄。
Sum可以取得某一個列的和,如果是null會略。
● 取得薪水的合計
select sum(sal) from emp;
● 取得薪水的合計(sal+comm)
select sum(sal+comm) from emp;
從以上結果來看,不正確,原因在于comm字段有null值,所以無法計算,sum會忽略掉,正確的做法是將comm字段轉換成0。
select sum(sal+nvl(comm, 0)) from emp;
取得某一列的平均值。
● 取得平均薪水
select avg(sal) from emp;
取得某個一列的最大值。
● 取得最高薪水
select max(sal) from emp;
● 取得最晚入職得員工
select max(to_char(hiredate, 'yyyy-mm-dd')) from emp;
取得某個一列的最小值。
● 取得最低薪水
select min(sal) from emp;
● 取得最早入職得員工
select min(hiredate) from emp;
可以將這些聚合函數都放到select中一起使用。
select count(*), sum(sal), avg(sal), max(sal), min(sal) from emp;