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

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


          網站導航:
           
          主站蜘蛛池模板: 宿迁市| 莱州市| 通许县| 米泉市| 长葛市| 广宗县| 分宜县| 南涧| 隆德县| 华容县| 丹巴县| 广南县| 湖南省| 平凉市| 三亚市| 修武县| 湖州市| 民和| 汶上县| 饶阳县| 西安市| 滁州市| 万全县| 桂平市| 眉山市| 上林县| 贡觉县| 信丰县| 安义县| 罗定市| 瓮安县| 榆社县| 隆化县| 维西| 沁阳市| 阜阳市| 呼和浩特市| 石泉县| 浠水县| 洞口县| 依兰县|