<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
    主站蜘蛛池模板: 久久久WWW免费人成精品| 全部在线播放免费毛片| 亚洲图片中文字幕| 亚洲三级视频在线观看| 亚洲日韩精品国产3区| 成a人片亚洲日本久久| 成年免费a级毛片| 青青操视频在线免费观看| 99爱免费观看视频在线| 日本阿v免费费视频完整版| 免费无码又爽又刺激高潮的视频| 无码欧精品亚洲日韩一区夜夜嗨 | 日韩在线永久免费播放| 香蕉视频在线观看免费国产婷婷| 久久青青成人亚洲精品| 亚洲人成电影青青在线播放| 亚洲国产无线乱码在线观看| 免费无码AV一区二区| 国产大片91精品免费观看不卡| 日韩人妻无码精品久久免费一| 国产禁女女网站免费看| 亚洲中文字幕无码久久精品1| 亚洲国产一区国产亚洲| 伊人久久五月丁香综合中文亚洲| 国产亚洲人成在线影院| 丁香花在线视频观看免费| 亚洲免费福利在线视频| 亚洲精品V欧洲精品V日韩精品| 亚洲日本在线观看网址| 久久久久久久久久免免费精品| 在线观看成人免费| 亚洲人成人网站色www| 亚洲AV无码精品蜜桃| 成人性生交大片免费看好| 免费国产在线观看| 亚洲狠狠综合久久| 一级毛片免费在线观看网站| ww4545四虎永久免费地址| 亚洲色欲久久久综合网东京热| 在线观看免费亚洲| 日韩吃奶摸下AA片免费观看|