love fish大鵬一曰同風(fēng)起,扶搖直上九萬(wàn)里

          常用鏈接

          統(tǒng)計(jì)

          積分與排名

          friends

          link

          最新評(píng)論

          刪除數(shù)據(jù)庫(kù)中重復(fù)記錄的SQL語(yǔ)句(轉(zhuǎn))

          在幾千條記錄里,存在著些相同的記錄,如何能用SQL語(yǔ)句,刪除掉重復(fù)的呢?

          1、查找表中多余的重復(fù)記錄,重復(fù)記錄是根據(jù)單個(gè)字段(peopleId)來(lái)判斷
          select?*?from?people
          where?peopleId?in?(select??peopleId??from??people??group??by??peopleId??having??count(peopleId)?>?1)

          2、刪除表中多余的重復(fù)記錄,重復(fù)記錄是根據(jù)單個(gè)字段(peopleId)來(lái)判斷,只留有rowid最小的記錄
          delete?from?people?
          where?peopleId??in?(select??peopleId??from?people??group??by??peopleId???having??count(peopleId)?>?1)
          and?rowid?not?in?(select?min(rowid)?from??people??group?by?peopleId??having?count(peopleId?)>1)

          3、查找表中多余的重復(fù)記錄(多個(gè)字段)?
          select?*?from?vitae?a
          where?(a.peopleId,a.seq)?in??(select?peopleId,seq?from?vitae?group?by?peopleId,seq??having?count(*)?>?1)

          4、刪除表中多余的重復(fù)記錄(多個(gè)字段),只留有rowid最小的記錄
          delete?from?vitae?a
          where?(a.peopleId,a.seq)?in??(select?peopleId,seq?from?vitae?group?by?peopleId,seq?having?count(*)?>?1)?and?rowid?not?in?(select?min(rowid)?from?vitae?group?by?peopleId,seq?having?count(*)>1)

          5、查找表中多余的重復(fù)記錄(多個(gè)字段),不包含rowid最小的記錄
          select?*?from?vitae?a
          where?(a.peopleId,a.seq)?in??(select?peopleId,seq?from?vitae?group?by?peopleId,seq?having?count(*)?>?1)?and?rowid?not?in?(select?min(rowid)?from?vitae?group?by?peopleId,seq?having?count(*)>1)


          posted on 2007-03-20 17:07 liaojiyong 閱讀(5145) 評(píng)論(7)  編輯  收藏 所屬分類: MSSQL

          評(píng)論

          # re: 刪除數(shù)據(jù)庫(kù)中重復(fù)記錄的SQL語(yǔ)句(轉(zhuǎn)) 2007-10-10 16:27 haung

          3、查找表中多余的重復(fù)記錄(多個(gè)字段)
          select * from vitae a
          where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)


          謝過(guò)!行不通!
            回復(fù)  更多評(píng)論   

          # re: 刪除數(shù)據(jù)庫(kù)中重復(fù)記錄的SQL語(yǔ)句(轉(zhuǎn)) 2007-11-29 09:53 黑皮

          樓上豬啊,沒(méi)有經(jīng)過(guò)自己思考,就下結(jié)論  回復(fù)  更多評(píng)論   

          # re: 刪除數(shù)據(jù)庫(kù)中重復(fù)記錄的SQL語(yǔ)句(轉(zhuǎn)) 2008-11-24 11:01 阿道夫

          你自己試過(guò)了嗎?就在這說(shuō),我怎么弄也刪除不了啊。你的rowid系統(tǒng)會(huì)提醒你這個(gè)列名無(wú)效,rowid是什么東西,你清楚嗎?  回復(fù)  更多評(píng)論   

          # re: 刪除數(shù)據(jù)庫(kù)中重復(fù)記錄的SQL語(yǔ)句(轉(zhuǎn)) 2008-12-27 23:18 evilisland

          @阿道夫
          rowid中是一個(gè)代稱,要根據(jù)你的自己情況來(lái)變  回復(fù)  更多評(píng)論   

          # re: 刪除數(shù)據(jù)庫(kù)中重復(fù)記錄的SQL語(yǔ)句(轉(zhuǎn)) 2010-05-14 11:44 蜀山幽狼

          好東西,我轉(zhuǎn)走了。謝謝樓上的好東西。  回復(fù)  更多評(píng)論   

          # re: 刪除數(shù)據(jù)庫(kù)中重復(fù)記錄的SQL語(yǔ)句(轉(zhuǎn))[未登錄](méi) 2011-02-14 14:04 kai

          如果沒(méi)有rowid這字段可以利用的話,那不是行不通了  回復(fù)  更多評(píng)論   

          # re: 刪除數(shù)據(jù)庫(kù)中重復(fù)記錄的SQL語(yǔ)句(轉(zhuǎn)) 2011-11-01 11:45 ··

          @阿道夫
          在ORACLE里的東西  回復(fù)  更多評(píng)論   

          主站蜘蛛池模板: 安塞县| 石渠县| 中宁县| 固镇县| 上高县| 绥德县| 通山县| 轮台县| 晴隆县| 西宁市| 襄汾县| 盐城市| 抚顺县| 安阳县| 九江市| 唐河县| 武义县| 云和县| 太仆寺旗| 哈尔滨市| 凉城县| 会泽县| 通许县| 湘西| 乃东县| 资溪县| 武川县| 琼海市| 溆浦县| 玛多县| 孟州市| 吴忠市| 扬州市| 荔浦县| 天祝| 宁化县| 滨州市| 大足县| 富民县| 泊头市| 伊金霍洛旗|