DELETE lignes en doublon

Résolu/Fermé
mikesunshine59 Messages postés 73 Date d'inscription lundi 22 janvier 2018 Statut Membre Dernière intervention 24 février 2018 - 2 févr. 2018 à 19:01
mikesunshine59 Messages postés 73 Date d'inscription lundi 22 janvier 2018 Statut Membre Dernière intervention 24 février 2018 - 3 févr. 2018 à 20:32
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 ?
A voir également:

1 réponse

jordane45 Messages postés 38275 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 8 novembre 2024 4 696
2 févr. 2018 à 20:56
Bonjour

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

1
jordane45 Messages postés 38275 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 8 novembre 2024 4 696
2 févr. 2018 à 20:57
0
mikesunshine59 Messages postés 73 Date d'inscription lundi 22 janvier 2018 Statut Membre Dernière intervention 24 février 2018
2 févr. 2018 à 21:27
La réponse est :

DELETE t1 FROM matable AS t1, matable AS t2 WHERE t1.Timestamp = t2.Timestamp AND t1.Type = 'orange'
0
mikesunshine59 Messages postés 73 Date d'inscription lundi 22 janvier 2018 Statut Membre Dernière intervention 24 février 2018
2 févr. 2018 à 23:11
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?
0
mikesunshine59 Messages postés 73 Date d'inscription lundi 22 janvier 2018 Statut Membre Dernière intervention 24 février 2018
2 févr. 2018 à 23:20
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 :(
0
mikesunshine59 Messages postés 73 Date d'inscription lundi 22 janvier 2018 Statut Membre Dernière intervention 24 février 2018
3 févr. 2018 à 20:32
La réponse est
ALTER IGNORE TABLE matable ADD UNIQUE INDEX(Timestamp)
0