• <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • Oracle教程
    Oracle練習題

    Oracle聚合函數

     

     

    count

    取得記錄數

    sum

    求和

    Avg

    取平均

    Max

    取最大的數

    min

    取最小的數

     

     

    count

     

    ● 取得所有的員工數

     

    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

     

    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;

     

     

     

    avg

     

    取得某一列的平均值。

     

    ● 取得平均薪水

     

    select avg(sal) from emp;

     

     

     

    max

     

    取得某個一列的最大值。

     

    ● 取得最高薪水

     

    select max(sal)  from emp;

     

     

    ● 取得最晚入職得員工

     

    select max(to_char(hiredate, 'yyyy-mm-dd')) from emp;

     

     

     

    min

     

    取得某個一列的最小值。

     

    ● 取得最低薪水

     

    select min(sal)  from emp;

     

     

    ● 取得最早入職得員工

     

    select min(hiredate) from emp;

     

     

     

    組合聚合函數

     

    可以將這些聚合函數都放到select中一起使用。

     

    select count(*), sum(sal), avg(sal), max(sal), min(sal) from emp;

     

     

    全部教程
  • <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 面对面棋牌游戏