Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment mettre à jour plusieurs doublons avec des valeurs différentes sur la même table ?

Pas sûr que ce soit très efficace, mais cela fonctionne en une seule requête :

UPDATE t
JOIN (
  SELECT MAX(t.id) AS maxid, lat, lon
  FROM t
  JOIN t AS duplicates
  USING (lat, lon)
  GROUP BY lat, lon
  HAVING COUNT(*) > 1
) AS maxima USING (lat, lon)
SET flag = IF(id = maxid, 1, 2);