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

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

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

    紙飛機(jī)

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      22 隨筆 :: 28 文章 :: 30 評(píng)論 :: 0 Trackbacks

    問題:計(jì)算平均數(shù),但希望排除最大和最小值,以(希望能)減少數(shù)據(jù)畸偏造成的影響。例如,計(jì)算除最高和最低工資外的所有職員的平均工資。

    解決方案

    MySQL和PostgreSQL

    使用子查詢排除最高和最低值:

    1   select avg(sal)

    2     from emp

    3    where sal not in (

    4       (select min(sal) from emp),

    5       (select max(sal) from emp)

    6    )

    DB2、Oracle和SQL Server

    使用內(nèi)聯(lián)視圖及窗口函數(shù)MAX OVER和MIN OVER,生成一個(gè)結(jié)果集,可以很容易地從中剔除最大和最小值:

    1   select avg(sal)

    2     from (

    3   select sal, min(sal)over() min_sal, max(sal)over() max_sal

    4     from emp

    5          ) x

    6    where sal not in (min_sal,max_sal)

    討論

    MySQL和PostgreSQL

    子查詢返回表中的最高工資和最低工資。針對(duì)返回的值使用NOT IN,就可以從平均值中排除最高工資和最低工資。記住,如果存在重復(fù)(多個(gè)職員都是最高或最低工資),那么他們都會(huì)被排除在平均值之外。如果只想排除一個(gè)最高和最低值,只需從SUM中減去它們,再做除法:

    select (sum(sal)-min(sal)-max(sal))/(count(*)-2)

       from emp

    DB2、Oracle和SQL Server

    內(nèi)聯(lián)視圖X將返回所有工資,其中包括最高工資和最低工資:

    select sal, min(sal)over() min_sal, max(sal)over() max_sal

       from emp

           SAL    MIN_SAL    MAX_SAL

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

           800        800       5000

          1600        800       5000

          1250        800       5000

          2975        800       5000

          1250        800       5000

          2850        800       5000

          2450        800       5000

          3000        800       5000

          5000        800       5000

          1500        800       5000

          1100        800       5000

           950        800       5000

          3000        800       5000

          1300        800       5000

    從每一行都可以訪問最高工資和最低工資,因此,要找出哪些工資是最高工資的和/或最低工資的非常簡(jiǎn)單。外層查詢會(huì)對(duì)內(nèi)聯(lián)視圖X返回的行作篩選,這樣,所有與MIN_SAL和MAX_SALAN相匹配的行都會(huì)從平均值中排除掉。

    posted on 2008-05-14 21:49 紙飛機(jī) 閱讀(1764) 評(píng)論(0)  編輯  收藏 所屬分類: Database
    主站蜘蛛池模板: 午夜一级免费视频| 亚洲一区爱区精品无码| 处破女第一次亚洲18分钟| 中文字幕中韩乱码亚洲大片| 色欲国产麻豆一精品一AV一免费| 91在线亚洲综合在线| 国产91精品一区二区麻豆亚洲| 在线人成精品免费视频| 亚洲国产精华液2020| 国产偷v国产偷v亚洲高清| 99久久精品日本一区二区免费| 羞羞漫画在线成人漫画阅读免费| 亚洲国产成人一区二区三区| 日本特黄特黄刺激大片免费| 波多野结衣免费一区视频| 亚洲欧美国产国产综合一区| 国产精品久久久亚洲| 国产网站在线免费观看| 蜜桃视频在线观看免费视频网站WWW| 亚洲国产精品无码久久98| 97亚洲熟妇自偷自拍另类图片| 国产又大又粗又硬又长免费| 97在线视频免费| 国产V片在线播放免费无码| 亚洲看片无码在线视频| 亚洲国产无套无码av电影| 国产在线观看免费视频播放器| 99热精品在线免费观看| 九一在线完整视频免费观看| 一本色道久久88—综合亚洲精品| 亚洲精品无码久久一线| 青青青国产色视频在线观看国产亚洲欧洲国产综合 | 亚洲国产精品一区二区三区在线观看| 亚洲中文字幕无码爆乳av中文| 毛片免费视频在线观看| 久久一区二区三区免费播放| 亚洲精品国产日韩无码AV永久免费网| 国产亚洲国产bv网站在线| 亚洲综合一区二区精品导航| 国产亚洲一区二区手机在线观看| 亚洲国产一成久久精品国产成人综合 |