我想刪除重複的行具有相同badge_id我們檢查USER_ID:刪除所有Duplicate mysql?
例如,下列數據:
id user_id badge_id badge_slot 1 2 ACH_1 0 2 1 ACH_1 0 3 1 ACH_1 0 4 1 AAAAA 0
如何刪除?
我想刪除重複的行具有相同badge_id我們檢查USER_ID:刪除所有Duplicate mysql?
例如,下列數據:
id user_id badge_id badge_slot 1 2 ACH_1 0 2 1 ACH_1 0 3 1 ACH_1 0 4 1 AAAAA 0
如何刪除?
如果你想保持最低的id
記錄您可以使用min()
delete from your_table
where id not in
(
select * from
(
select min(id)
from your_table
group by user_id, badge_id
) x
)
而且在MySQL你有,你不能從你從刪除同一表中選擇的問題。但是你可以通過子選擇來克服這一點。
試試這個:
DELETE * ,count(*)as n your_table by badge_id HAVING n>1 .
希望它能幫助!
試試這個..
ALTER IGNORE TABLE table ADD UNIQUE KEY idx1('badge_id','user_id');
如何使用子查詢? – user1538524 2013-03-22 12:09:49
我用它在我的答案:'select * from(place subselect here)alias_name' – 2013-03-22 12:10:58
我試過了,但它不工作與幾行我的表有1801490行我應該怎麼做? – user1538524 2013-03-22 14:17:46