posts - 60,comments - 71,trackbacks - 0
             
               在一些數據表中,可能會有一些重復(某一字段,或全部字段)的數據,根據需求,可能要去掉這些重復的數據,下面是常用的方法:
          --表 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 閱讀(262) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 眉山市| 湾仔区| 新晃| 故城县| 延吉市| 化州市| 岳池县| 余干县| 睢宁县| 神农架林区| 建瓯市| 桐城市| 林口县| 安平县| 泰兴市| 道孚县| 兴仁县| 栾川县| 建德市| 滁州市| 福泉市| 宁安市| 边坝县| 兴城市| 上饶市| 巩留县| 阳朔县| 三河市| 且末县| 兴城市| 揭阳市| 吴旗县| 河间市| 肥东县| 开江县| 普安县| 六枝特区| 锦屏县| 苍梧县| 尚义县| 墨江|