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

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

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

    Decode360's Blog

    業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
      302 隨筆 :: 26 文章 :: 82 評論 :: 0 Trackbacks
    ??? 今天在論壇上看到一個面試題,是說有什么辦法可以替代distinct,得到同樣的結果。
    ??? 答案都被大家說的差不多了,發現挺有意思的,就記錄一下:

    SQL> select num from t1;
    ??????????????????????????????????? NUM
    ---------------------------------------
    ????????????????????????????????????? 6
    ????????????????????????????????????? 6
    ????????????????????????????????????? 7
    ????????????????????????????????????? 8
    ????????????????????????????????????? 9
    ????????????????????????????????????? 1
    ????????????????????????????????????? 1
    ????????????????????????????????????? 1
    ????????????????????????????????????? 1
    ????????????????????????????????????? 1
    ????????????????????????????????????? 1
    ????????????????????????????????????? 1
    ????????????????????????????????????? 1
    ????????????????????????????????????? 1
    ????????????????????????????????????? 1
    15 rows selected
    ?
    SQL> select distinct num from t1;
    ??????????????????????????????????? NUM
    ---------------------------------------
    ????????????????????????????????????? 1
    ????????????????????????????????????? 6
    ????????????????????????????????????? 8
    ????????????????????????????????????? 7
    ????????????????????????????????????? 9
    5 rows selected



    一、用unique代替distinct:

    這個比較無恥,基本屬于說了跟沒說一樣,但確實是對的
    SQL> select unique num from t1;
    ??????????????????????????????????? NUM
    ---------------------------------------
    ????????????????????????????????????? 1
    ????????????????????????????????????? 6
    ????????????????????????????????????? 8
    ????????????????????????????????????? 7
    ????????????????????????????????????? 9
    5 rows selected



    二、用group by來做:

    這個應該是出題者的本意
    SQL> select num from t1 group by num;
    ??????????????????????????????????? NUM
    ---------------------------------------
    ????????????????????????????????????? 1
    ????????????????????????????????????? 6
    ????????????????????????????????????? 8
    ????????????????????????????????????? 7
    ????????????????????????????????????? 9
    5 rows selected



    三、用union和minus:

    因為union和minus默認都是先distinct然后再做聚集,所以可以這樣做:

    SQL> select num from t1 minus select 999 from dual;
    ?????? NUM
    ----------
    ???????? 1
    ???????? 6
    ???????? 7
    ???????? 8
    ???????? 9
    5 rows selected
    ?
    SQL> select num from t1 union select num from t1 ;
    ?????? NUM
    ----------
    ???????? 1
    ???????? 6
    ???????? 7
    ???????? 8
    ???????? 9
    5 rows selected

    一個是minus一個沒有的項,一個是union它本身。



    關于其他的方法,要是再用over之類的就沒有什么太大的意義了,差不多就這3種了。




    -The End-

    posted on 2008-09-05 23:09 decode360-3 閱讀(1213) 評論(0)  編輯  收藏 所屬分類: SQL Dev
    主站蜘蛛池模板: 亚洲国产精品日韩在线| 亚洲精品无码专区| 伊人久久综在合线亚洲2019| 亚洲AV无码乱码麻豆精品国产| 国产AV日韩A∨亚洲AV电影 | 久久久久亚洲AV无码观看 | 亚洲第一AV网站| 日韩精品亚洲专区在线影视| 99精品热线在线观看免费视频| 免费人成视频在线观看不卡| 麻豆狠色伊人亚洲综合网站| 老司机69精品成免费视频| 亚洲高清无码综合性爱视频| 亚洲欧洲无码一区二区三区| 在线精品免费视频| 亚洲最大的黄色网| 国产成人在线免费观看| 亚洲AV日韩综合一区尤物 | a级毛片毛片免费观看永久| 免费成人在线观看| 丝瓜app免费下载网址进入ios| 免费v片在线观看品善网| 一级毛片高清免费播放| 国产黄色片在线免费观看| 77777亚洲午夜久久多喷| 国产婷婷高清在线观看免费| g0g0人体全免费高清大胆视频| 国产伦一区二区三区免费 | 久久久久亚洲精品天堂| 女人被男人桶得好爽免费视频| 日韩电影免费在线观看网址| 国产精品国产免费无码专区不卡 | 亚洲中文字幕久久精品无码APP| 美女黄色免费网站| 亚洲 小说区 图片区 都市| 亚洲区日韩精品中文字幕| 久久国产成人亚洲精品影院| 国产精品免费久久久久久久久| 亚洲自偷自拍另类图片二区| 日韩人妻无码免费视频一区二区三区 | 亚洲丁香婷婷综合久久|