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 閱讀(261) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 昭平县| 武胜县| 大足县| 淮滨县| 莱州市| 天柱县| 塔河县| 石家庄市| 青阳县| 肥东县| 灌南县| 天祝| 康平县| 岑巩县| 临朐县| 云林县| 德钦县| 枞阳县| 论坛| 赣州市| 额尔古纳市| 池州市| 曲松县| 湖口县| 曲靖市| 古浪县| 平定县| 南靖县| 巴南区| 万山特区| 黄浦区| 新兴县| 三原县| 扎囊县| 平凉市| 云龙县| 辰溪县| 徐闻县| 界首市| 延庆县| 贵阳市|