posts - 60,comments - 71,trackbacks - 0
             
               在一些數(shù)據(jù)表中,可能會有一些重復(某一字段,或全部字段)的數(shù)據(jù),根據(jù)需求,可能要去掉這些重復的數(shù)據(jù),下面是常用的方法:
          --表 test有重復的記錄1,10
            SQL> select  *  from tt;
             ID
            ----------
             1
             2
             3
             4
             10
             1
             1
             1
             1
             1
             10
            11 rows selected.

            --查詢表中的哪些記錄有重復
            SQL> select * from tt  group by id having count(*)>1;
             ID
            ----------
             1
             10

            --查詢出沒有重復記錄的結果集
            SQL> select * from tt  group by id;
             ID
            ----------
             1
             2
             3
             4
             10
            SQL> select distinct * from tt;
             ID
            ----------
             1
             2
             3
             4
             10

            --刪除重復的記錄
            SQL> delete from tt  a where a.rowid!=(select max(rowid) from tt  b
             2 where a.id=b.id);
            6 rows deleted.
            SQL> commit;
            Commit complete.

            --刪除后的查詢結果集
            SQL> select * from tt;
             ID
            ----------
             2
             3
            
            
             4
             1
             10
          posted on 2009-06-12 10:56 henry1451 閱讀(265) 評論(0)  編輯  收藏

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


          網(wǎng)站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 江西省| 芜湖县| 海原县| 灵山县| 和顺县| 宁波市| 通山县| 修文县| 怀来县| 句容市| 宜宾县| 兴义市| 米易县| 商洛市| 罗甸县| 洱源县| 楚雄市| 桃江县| 休宁县| 新宾| 阳山县| 平舆县| 庆元县| 拜城县| 平远县| 黄骅市| 恩施市| 宁陕县| 诸暨市| 城口县| 台北县| 南阳市| 正安县| 利津县| 沅江市| 太仆寺旗| 朝阳区| 南召县| 资中县| 浦县| 华宁县|