sql >> Database >  >> RDS >> Mysql

Hoe meerdere duplicaten met verschillende waarden in dezelfde tabel bij te werken?

Ik weet niet zeker of dit erg efficiënt is, maar het werkt in slechts één zoekopdracht :

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);


  1. Tijdstempel bijwerken wanneer rij wordt bijgewerkt in PostgreSQL

  2. Waarom retourneert LEFT JOIN van MySQL NULL-records met de WHERE-component?

  3. Eerste normaalvorm en voor- en achternaam

  4. ASIN() Functie in Oracle