Mysql删除重复数据

188 阅读1分钟

删除重复数据,针对不是主键的条件匹配删除

select ura.* from unite_role_authorization ura
  where  (ura.role_id ,ura.authorization_id)in(
  select u.role_id ,u.authorization_id from unite_role_authorization u
  group by u.role_id ,u.authorization_id
  having count(*)>1) 
  AND ura.id NOT IN (SELECT dt.id FROM (select min(id) AS id from unite_role_authorization ua  GROUP by ua.role_id ,ua.authorization_id having count(1) > 1 ) dt)