同じ Badge_id を持つ重複行を削除したいので、 user_id を確認します。
たとえば、次のデータを使用します。
id user_id Badge_id Badge_slot 1 2 ACH_1 0 2 1 ACH_1 0 3 1 ACH_1 0 4 1 あああああ 0
削除する方法??
同じ Badge_id を持つ重複行を削除したいので、 user_id を確認します。
たとえば、次のデータを使用します。
id user_id Badge_id Badge_slot 1 2 ACH_1 0 2 1 ACH_1 0 3 1 ACH_1 0 4 1 あああああ 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');