<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    紙飛機

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      22 隨筆 :: 28 文章 :: 30 評論 :: 0 Trackbacks

    問題:對某列進行聚集運算,但該列的值可為空,由于函數會忽略NULL值,能否保持聚集運算的準確性令人擔憂。例如,想要求DEPTNO 30中職員的平均傭金,但有些職員不掙傭金(這些職員的COMM值為NULL)。由于聚集運算會忽略NULL,因此輸出結果的準確性沒有保障。在進行聚集運算時有時可能需要以某種方式將NULL值包括進來。

    解決方案

    使用COALESCE函數把NULL轉換為0,這樣在進行聚集時可以把它們包括進來:

    1   select avg(coalesce(comm,0)) as avg_comm

    2     from emp

    3    where deptno=30

    討論

    請務必記住,在使用聚集函數時會忽略NULL。不使用COALESCE函數時該解決方案的輸出如下:

    select avg(comm)

       from emp

    where deptno=30

    AVG(COMM)

    ---------

           550

    該查詢表明,DEPTNO 30的平均傭金是550,快速檢查這些行如下:

    select ename, comm

       from emp

    where deptno=30

    order by comm desc

    ENAME            COMM

    ---------- ---------

    BLAKE

    JAMES

    MARTIN           1400

    WARD              500

    ALLEN             300

    TURNER              0

    這表明六個職員中只有四個職員掙得傭金。DEPTNO 30中所有傭金的總和是2200,其平均值應該是2200/6,而不是2200/4。如果不用COALESCE函數,回答的是問題“DEPTNO 30中掙得傭金的職員的平均傭金是多少?”,而不是“DEPTNO 30中所有職員的平均傭金是多少?”。使用聚集時記住要相應處理NULL值。

    posted on 2008-05-14 21:47 紙飛機 閱讀(359) 評論(0)  編輯  收藏 所屬分類: Database
    主站蜘蛛池模板: 国产精品美女久久久免费| 免费无码午夜福利片| 两个人看的www视频免费完整版| 精品久久久久久久免费加勒比| 亚洲欧美日韩一区二区三区在线| 中文字幕无码免费久久99| 亚洲av永久无码精品天堂久久 | 亚洲欧洲日产v特级毛片| 国产精品视频白浆免费视频| 亚洲AV无码久久精品狠狠爱浪潮| 在线成人精品国产区免费| 西西人体44rt高清亚洲 | 亚洲精品亚洲人成在线麻豆| 91精品全国免费观看含羞草| 免费观看亚洲人成网站| 国产亚洲综合视频| 国产成人啪精品视频免费网| 九九免费久久这里有精品23| 亚洲色成人网站WWW永久| 中国一级毛片视频免费看| 亚洲国产精品久久久久婷婷老年| 37pao成人国产永久免费视频| 亚洲乱码一二三四区乱码| 欧洲精品免费一区二区三区| 无码日韩人妻AV一区免费l| 我们的2018在线观看免费高清| 中文字幕在线观看亚洲视频| 国产精品va无码免费麻豆| 免费人人潮人人爽一区二区| 国产成A人亚洲精V品无码| 老司机午夜精品视频在线观看免费| 久久精品国产精品亚洲| 91老湿机福利免费体验| 亚洲欧美综合精品成人导航| 在线观看亚洲天天一三视| 国产成人综合久久精品亚洲| 亚洲中文字幕无码久久精品1| 黄在线观看www免费看| 污视频网站在线观看免费| 亚洲欧洲一区二区| 国产成人在线观看免费网站|