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

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

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

    Calvin's Tech Space

    成于堅忍,毀于浮躁

       :: 首頁 :: 聯系 :: 聚合  :: 管理

    如何用一條sql語句刪除表中所相同的記錄

    刪除重復數據

    一、具有主鍵的情況
    a.具有唯一性的字段 id(為唯一主鍵)
    delete table
    where id not in
    (
    select max(id) from table group by col1,col2,col3...
    )
    group by 子句后跟的字段就是你用來判斷重復的條件,如只有col1,
    那么只要col1字段內容相同即表示記錄相同。

    b.具有聯合主鍵
    假設col1+','+col2+','...col5 為聯合主鍵
    select * from table where col1+','+col2+','...col5 in (
    select max(col1+','+col2+','...col5) from table
    where having count(*)>1
    group by col1,col2,col3,col4
    )
    group by 子句后跟的字段就是你用來判斷重復的條件,
    如只有col1, 那么只要col1字段內容相同即表示記錄相同。

    c:判斷所有的字段
    select * into #aa from table group by id1,id2,....
    delete table
    insert into table
    select * from #aa

    二、沒有主鍵的情況

    a:用臨時表實現
    select identity(int,1,1) as id,* into #temp from ta
    delect #temp
    where id not in
    (
    select max(id) from # group by col1,col2,col3...
    )
    delete table ta
    inset into ta(...)
    select ..... from #temp

    b: 用改變表結構(加一個唯一字段)來實現
    alter table 表 add newfield int identity(1,1)
    delete 表
    where newfield not in
    (
    select min(newfield) from 表 group by 除newfield外的所有字段
    )

    alter table 表 drop column newfield
     ————————————————————————————————————————————
    在數據庫里表的rowid是唯一的所以相同的記錄rowid是不同的可以分兩步做因 為
    一:查重復記錄
    select rowid,bm,mc from 表名1 where 表1.rowid!=(select max(rowid) from
    表1 b(別名) where 表1.bm=b.bm and 表.mc=b.mc);
    二:刪除重復 記錄
    delete from 表1 where 表1.rowid!=(select max(rowid) from 表1.b where 表1.bm=b.bm and 表1.mc=b.mc);
    這段SQL的功能是查找重復的記錄,然后保留rowid號最大的那條記錄 將其余的相同記錄刪除。
    posted on 2010-03-23 22:47 calvin 閱讀(1574) 評論(0)  編輯  收藏 所屬分類: Oracle
    主站蜘蛛池模板: 亚洲精品国产成人专区| 亚洲中文字幕无码一区| 人人狠狠综合久久亚洲高清| 亚洲精品成人a在线观看| 中文字幕亚洲电影| 亚洲色图在线播放| 国产成人亚洲综合网站不卡| 亚洲国产无线乱码在线观看| 农村寡妇一级毛片免费看视频| 免费久久人人爽人人爽av| **aaaaa毛片免费| 日韩免费视频观看| 亚洲熟妇无码AV在线播放| 亚洲宅男永久在线| 亚洲大码熟女在线观看| 伊人免费在线观看高清版| 国产成人精品免费视| 免费午夜爽爽爽WWW视频十八禁| 亚洲高清国产拍精品26U| 亚洲影视自拍揄拍愉拍| 一个人看的免费观看日本视频www 一个人看的免费视频www在线高清动漫 | 亚洲欧洲校园自拍都市| 亚洲国产精品成人午夜在线观看 | 久久免费精彩视频| 成人午夜18免费看| 亚洲人成精品久久久久| 亚洲国产成AV人天堂无码| 特黄aa级毛片免费视频播放| 免费在线看黄的网站| 免费看少妇作爱视频| 久久久久亚洲AV片无码| 亚洲av中文无码字幕色不卡| 免费一区二区三区| 无码专区一va亚洲v专区在线| 亚洲天堂男人天堂| 四虎影视久久久免费| 波多野结衣免费在线| 亚洲中文字幕久久精品无码APP| 亚洲一级特黄特黄的大片| 怡红院免费的全部视频| 精品国产免费观看|