Téléchargement
illégal
Posez votre question Signaler

Requete SQL doublons sur 2 champs [Résolu]

Bouh - Dernière réponse le 14 nov. 2011 à 20:54
Bonjour à tous,
de bon matin dans la programmation!
Je cherche une requête SQL permettant de me sortir des doublons sur deux champs...
Je m'explique, j'ai une base XXX avec 5 champs, où il y a malheureusement certaines lignes où 2 champs Y et Z sont identiques.
Exemple :
1ère ligne : Y=0123 et Z=7895
2ème ligne : Y=0123 et Z=7895,
Ce qui est une erreur. Sur 4000 energistrement, j'aimerai automatiser la chose. Au moins me sortir ces lignes en double, voir triple. Car il faudra que je supprime les plus anciens enregistrement, suivant la date (qui est aussi un des champs).
En espérant que vous m'ayez comprise,
Merci de me répondre!
Bonne journée à vous,
Bouh
Lire la suite 

Requete SQL doublons sur 2 champs »

8 réponses
Réponse
+15
moins plus
Erf, me doutais bien que tu me poserais cette question.
Alors en y regardant de plus près, pour enlever les lignes ou il n'y pas repetitions...

Ah oui, je me rappelle. Il faut utiliser Having, ce qui nous donne :
SELECT 
      CONCAT(Y,'_',Z) AS valeur, 
      COUNT(*) AS nombre_de_repetition
FROM nom_table
GROUP BY valeur
HAVING COUNT(*)>1

Bahan, grillé par sqlman ^_^
s0meone - 14 nov. 2011 à 20:54
J'obtiens l'erreur :
Parse error: syntax error, unexpected T_STRING

: /
Ajouter un commentaire
Réponse
+1
moins plus
SELECT 
      CONCAT(Y,'_',Z) AS valeur, 
      COUNT(*) AS nombre_de_repetition
FROM nom_table
GROUP BY valeur

Ca ne fonctionnerait pas ça ? Ca devrait te sortir les valeurs du l'association Y_Z et le nombre de repetitions pour chacune de ces associations.

Désolé là je t'aide de tête ^_^.

Bahan
Ajouter un commentaire
Réponse
+1
moins plus
Cool, ça marche, sauf que j'ai aussi ceux qui ne sont pas en double! où nombre_de_repetition=1.
Peux-tu juste me dire où je peux "trancher", pour avoir juste les lignes où nombre_de_repetition>1 ?
Merci beaucoup en tout cas.
Je ne suis pas vraiment une experte en PHP/MySQL, mais j'adorerai...
à bientôt
Bouh
sqlman - 30 nov. 2005 à 11:06
Having...
Ajouter un commentaire
Réponse
+1
moins plus
Cool, merci beaucoup, ça marche très bien.
Finalement, ça va me prendre quand un peu de temps à supprimer les doublons, mais je suis obligée de passer par le back-office, donc je ne peux pas faire de requête automatique.
Merci à toi, et bonne journée,
++
Bouh
Ajouter un commentaire
Réponse
+0
moins plus
agueu ^_^, j'ai pas trop compris.

En gros, tu as des doublons et tu veux les sortir via une requête ? Ou alors justement tu ne veux pas les sortir ?

Bahan
Ajouter un commentaire
Réponse
+0
moins plus
En fait, je veux les sortir, dans un premier temps, car s'il n'y a pas beaucoup de doublons je ferai le reste/les suppression à la main. par contre, s'il y en a trop... je verrai dans un second temps.

Mais sinon, si tu as bien compris, ce sont des doublons sur 2 champs, et non pas qu'un seul.
Merci de ton retour...
Bouh
Ajouter un commentaire
Ce document intitulé « Requete SQL doublons sur 2 champs » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?