DELETE lignes en doublon

Résolu
Bonjour,

J'essaye de supprimer les lignes en doublon qui ont le même Timestamp.

Voici ma requete:

DELETE FROM matable WHERE (SELECT * FROM matable as t1, matable as t2 WHERE t1.Timestamp = t2.Timestamp AND t1.Type = 'orange')

Pouvez vous m'aider svp ?

1 réponse

  1. Modérateur
    Bonjour

    ça serait plutot :
    DELETE
    FROM tatable 
    HAVING count(Timestamp)>1
    

    1. La réponse est :

      DELETE t1 FROM matable AS t1, matable AS t2 WHERE t1.Timestamp = t2.Timestamp AND t1.Type = 'orange'
    2. DELETE
      FROM tatable
      HAVING count(Timestamp)>1

      Ca ne fonctionne pas Jordane.

      Et ma requête non plus.

      DELETE FROM matable WHERE (SELECT * FROM matable as t1, matable as t2 WHERE t1.Timestamp = t2.Timestamp AND t1.Type = 'orange')

      En fait le Type doit être égal à 'orange' avec un TIMESTAMP identique à un autre type.

      Tu as une idée stp?
    3. DELETE FROM matable
      LEFT OUTER JOIN (
      SELECT max(Type) as Type, Timestamp
      FROM matable
      GROUP BY Timestamp
      ) as t1
      ON matable.id = t1.id
      WHERE t1.id IS NULL

      Ca ne fonctionne pas :(
    4. La réponse est
      ALTER IGNORE TABLE matable ADD UNIQUE INDEX(Timestamp)