記錄去重

創建臨時表刪除 

create table tmp_t as 
select 
    t1.userid,t1.product_key,t1.id as del_id
from 
    user_table   t1
LEFT JOIN
(
    select 
        t2.userid,product_key,max(id) as max_id
    from user_table   t2
    group by t2.userid,product_key
    having(count(*))>1
)t3
ON t1.userid = t3.userid AND t1.product_key = t3.product_key
WHERE t1.id<t3.max_id
AND t3.userid is not null
order by t1.id asc



alter table tmp_t add index del_id (del_id);


delete from user_table  where id in (select del_id from tmp_t);

 

創建唯一索引自動刪除

alter table  user_table add unique(userid,product_key);

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章