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

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

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

    當前訪問本站: hits

    yjhmily

    堅持走自己的路……

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      100 Posts :: 8 Stories :: 353 Comments :: 0 Trackbacks
    ??? 相信很多人在查詢數(shù)據(jù)庫時都會碰到檢索某表中不重復(fù)記錄的時候,提到檢索不重復(fù)記錄,馬上想到的肯定是Distinct或者Group By分組,
    小弟在初次使用的時候碰到了一些麻煩,這里拿出來與大家分享,希望對更多的朋友有所幫助!

    ??? 先看看數(shù)據(jù)庫表結(jié)構(gòu):
    ??? ??? 表名: TEST? 字段: Id,A,B,C,D
    ??? ??? 其中B字段包含重復(fù)值;

    Id

    A

    B

    C

    D

    1

    11

    a

    34

    bvb

    2

    22

    a

    35

    fgfg

    3

    33

    d

    ht

    sdf

    4

    44

    a

    345

    de

    5

    55

    c

    sfsf

    sscv

    6

    66

    b

    rt

    fg


    ???
    ??





    ?



    ???

    下面我們來看看用什么樣的SQL語句檢索出不含重復(fù)記錄的數(shù)據(jù):
    ?使用Distinct關(guān)鍵字
    ??? ? Distinct關(guān)鍵字主要用來在SELECT查詢記錄中根據(jù)某指定字段的值去除重復(fù)記錄
    ??? ?SELECT DISTINCT [字段名] FROM [表名] WHERE [檢索條件字句]

    ??? 所以用這樣一句SQL就可以去掉重復(fù)項了:
    ??? ?? ?
    SELECT?DISTINCT?(B)?FROM?TEST

    ??? 但是:

    ??? ? 這里有一個非常非常需要注意的地方:
    ??? ? SELECT DISTINCT [字段名]后面不能再跟其他的字段,否則檢索出來的記錄仍然會含有重復(fù)項;
    ????? 錯誤寫法:
    ??? ??? ??? SELECT DISTINCT [字段名] ,[其他字段名] FROM [表名] WHERE [檢索條件字句]
    ???
    ??? 實際上,我們上面SQL語句結(jié)果集里就只有B字段;(一般情況下,這種結(jié)果應(yīng)該是很難滿足需求的)


    ??? 如果我們的記錄集里還需要有其他字段值,那怎么辦呢?

    實際上,我們完全可以用另一種辦法來解決問題;只是需要用到子查詢而已!

    使用GROUP BY 分組
    ??? 有一點需要注意:
    ??? ?? 使用帶有GROUP BY字句的查詢語句時,在SELECT列表指定的列要么是GROUP BY 指定的列,要么包含聚合組函數(shù)

    ??? 所以用這樣一句SQL就可以去掉重復(fù)項了:

    SELECT?*?FROM?TEST?WHERE?id?in?(SELECT?MIN(id)?FROM?TEST?GROUP?BY?B)

    ??? 這樣就得到我們想要的結(jié)果集了:
    ???

    Id

    A

    B

    C

    D

    1

    11

    a

    34

    bvb

    3

    33

    d

    ht

    sdf

    5

    55

    c

    sfsf

    sscv

    6

    66

    b

    rt

    fg


    ??? ??

    ??? ??





    posted on 2006-12-15 11:24 kangxm 閱讀(1689) 評論(1)  編輯  收藏 所屬分類: SQL

    Feedback

    # re: 檢索數(shù)據(jù)庫表中的不重復(fù)記錄 2007-10-31 18:37 葉子
    'SELECT * FROM TEST WHERE id in (SELECT MIN(id) FROM TEST GROUP BY B)'

    用in 查詢將不會使用索引,效率會降低,如果是100W級的數(shù)據(jù),建議把MIN(id)抽到臨時表,在join 就搞定了.

    當你遇到這種情況的時候需要把 重復(fù)的刪除掉 怎么辦?
    要腳本的來找我.  回復(fù)  更多評論
      


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 99久9在线|免费| 久久永久免费人妻精品| 最近中文字幕免费mv视频8| 亚洲国产日韩精品| 在线a毛片免费视频观看| 亚洲日韩中文字幕一区| 亚洲网站视频在线观看| 久久aa毛片免费播放嗯啊| 亚洲Av无码精品色午夜| 67pao强力打造高清免费| 亚洲一区二区三区播放在线 | 一日本道a高清免费播放| 亚洲国产综合人成综合网站| 国产免费AV片在线观看播放| 亚洲精品乱码久久久久久蜜桃不卡| A片在线免费观看| 亚洲午夜一区二区电影院| 成年女人18级毛片毛片免费| 色偷偷尼玛图亚洲综合| 国外亚洲成AV人片在线观看| 久久免费视频精品| 亚洲一级特黄特黄的大片| 日本一道本高清免费| 黄色短视频免费看| 亚洲麻豆精品果冻传媒| 国产成人高清精品免费鸭子| 中文字幕乱码系列免费| 亚洲成人免费在线观看| 情侣视频精品免费的国产| 精品国产污污免费网站入口| 亚洲首页在线观看| 国产午夜免费福利红片| 国产情侣久久久久aⅴ免费 | 在线电影你懂的亚洲| 日韩免费三级电影| 青青操视频在线免费观看| 亚洲入口无毒网址你懂的| 亚洲第一页综合图片自拍| 亚洲免费视频网址| 免费无码专区毛片高潮喷水| 77777_亚洲午夜久久多人|