Delete doublon - SQL/NoSQL - Programmation
Marsh Posté le 13-04-2015 à 05:16:06
ReplyMarsh Posté le 14-04-2015 à 23:20:39
Mecri j'ai deja regarder mais impossible de faire fonctionner le requete
Marsh Posté le 15-04-2015 à 21:34:57
Ben forcement, puisqu'il y a une erreur de syntaxe, comme l'indique le message d'erreur que tu recois.
Erreur de syntaxe qui saute aux yeux des que tu regardes n'importe quelle doc sur les requetes DELETE de SQL.
Bon comme c'est tellement basique comme truc et t'as pas l'air de vouloir faire le moindre effort, voila la reponse, en gros:
DELETE FROM Passwords |
J'espere que tu ne fais pas d'info dans la vie, sinon reorientes toi vite (pour ton bien).
Marsh Posté le 15-04-2015 à 21:58:44
Ce qui est bien quand on est hautain, c'est que la moindre erreur se voit
La tu efface le plus petit, même pour les lignes qui ne sont pas en double.
Au passage ce type de requete ne traitera pas le cas ou il y a des triplets ou plus
Marsh Posté le 15-04-2015 à 22:02:15
Moi je ferai
DELETE FROM Passwords
WHERE id Not IN (
SELECT MIN(id)
FROM Passwords
GROUP BY link, username, password)
Not in au lieu de in
Qui efface tout ce qui n'est pas un min , donc les seconds, troisiemes et plus
Est ce que tu veux garder un exemplaire des doublons ?
Marsh Posté le 15-04-2015 à 22:36:49
flo850 a écrit : Moi je ferai |
Merci pour ton aide oui je souhaiterai gardé un exemplaire des doublon
Marsh Posté le 15-04-2015 à 22:37:48
flo850 a écrit : Ce qui est bien quand on est hautain, c'est que la moindre erreur se voit |
Je vois pas trop ou je suis hautain mais bon.
Je lui file le lien vers la doc, il n'y "arrive" toujours pas, je lui explique en deux phrases le raisonnement a suivre pour trouver d'ou ca vient (et c'est dur de faire deux phrases la-dessus deja tellement c'est simple), propose meme un truc (certes faux) ainsi qu'un conseil fort judicieux pour son propre bien-etre.
Faut pas voir le mal partout hein.
Marsh Posté le 16-04-2015 à 00:51:41
lasnoufle a écrit : Ben forcement, puisqu'il y a une erreur de syntaxe, comme l'indique le message d'erreur que tu recois.
|
C'est du langage SQL, l'informatique est tres diversifier
Marsh Posté le 16-04-2015 à 00:55:54
J'ai fait la requete :
DELETE Passwords
FROM Passwords
LEFT OUTER JOIN (
SELECT MIN(id) as id, link, username, password
FROM Passwords
GROUP BY link, username, password
) AS Passwords_1
ON Passwords.id = Passwords_1.id
WHERE Passwords_1.id IS NULL
Mais j'ai l'impression qu'elle me supprime plus que les doublons sans garder une seule fois le doublon.
Marsh Posté le 16-04-2015 à 08:27:39
Mais pourquoi tu n'essayes pas la requête que je t'ai donné ?
Marsh Posté le 11-04-2015 à 16:45:56
Bonjour,
Je recherche a supprimer les doublon dans une base sql.
Pour trouver les doublon j'ai utiliser la requete suivante :
SELECT COUNT(*) AS nbr_doublon, link, username, password
FROM Passwords
GROUP BY link, username, password
HAVING COUNT(*) > 1
Celle ci fonctionne bien
Par contre je cherche a supprimer les doublon avec la requete :
DELETE FROM Passwords
SELECT MIN(id) as id, link, username, password
FROM Passwords
GROUP BY link, username, password
Mais la j'ai une erreur :
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT MIN(id) as id, link, username, password FROM Passwords ' at line 2
Si quelqu'un peut m'aidé sa serait sympa.
Merci d'avance