回覆列表
-
1 # 使用者2203174090248
-
2 # 使用者7472166159970
delete from GXS_VIEW_PATIENT_INFO where rowid not in (select min(rowid) from GXS_VIEW_PATIENT_INFO group by 某欄位) 某欄位就是按照某幾個分組 比如資料id name1 a1 a1 a 你最後group by id或者group by name都可以但是如果 id name1 a1 a1 a2 a但是像上邊這樣,最後也只能保留一條,所以你得找到一個group by 的欄位 不過這個慎用,資料多的時候會很慢的,刪除前備份一下資料吧
用這種效率最高的就可以;比如,某個表要按照id和name重複,就算重複資料;delete from 表名 where rowid not in (select min(rowid) from 表名 group by id,name);commit;;如果以id,name和grade重複算作重複資料;delete from 表名 where rowid not in (select min(rowid) from 表名 group by id,name,grade);commit;;注意:min也可用max替代