巧用SQL語句刪除重復記錄
作者:佚名
大家在使用SQL數據庫的過程中,經常會遇到要把重復數據刪除的情況,下面就將為您介紹用SQL語句刪除重復記錄的方法。
如果需要用SQL語句刪除重復記錄,如何把具有相同字段的記錄刪除,只留下一條,應該如何做呢?下面就將教您實現的SQL語句寫法。
例如表frmZHProductResult里有id,zhproductid字段,如果有zhproductid相同的記錄只留下一條,其余的刪除。zhproductid的內容不定,相同的記錄數不定。
那么只要把重復數據列出來,不就可以了?于是為了不馬上刪除數據.我先把想要刪除的數據列出來,看是否有錯:
- SELECT * FROM frmZHProductResult
- where id<>(select max(id) from frmZHProductResult d
- where frmZHProductResult.zhproductid =d.zhproductid )
- AND zhproductid in (select zhproductid from frmZHProductResult b
- GROUP BY ZhproductId HAVING COUNT(ZhproductId)>1)
結果,的確是我所想要的數據.
呵呵,那么直接刪除了.把select * from 換成 Delete
【編輯推薦】
責任編輯:段燃
來源:
互聯網