Afficher les doublons dans une bdd MYSQL
Fermé
So-called-punk
Messages postés
15
Date d'inscription
jeudi 23 juillet 2009
Statut
Membre
Dernière intervention
24 avril 2010
-
24 avril 2010 à 11:57
dam75 Messages postés 1043 Date d'inscription lundi 4 mai 2009 Statut Webmaster Dernière intervention 21 février 2023 - 25 avril 2010 à 01:53
dam75 Messages postés 1043 Date d'inscription lundi 4 mai 2009 Statut Webmaster Dernière intervention 21 février 2023 - 25 avril 2010 à 01:53
A voir également:
- Afficher les doublons dans une bdd MYSQL
- Supprimer les doublons excel - Guide
- Doublons photos - Guide
- Mysql download - Télécharger - Bases de données
- Afficher mot de passe wifi android - Guide
- Supprimer les doublons photos gratuit - Télécharger - Nettoyage
5 réponses
Salut
Ce n'est pas spécifique à MySQL, mais tu peux:
1. isoler les enregistrements correspondants à un auteur avec
select ... from ... where upper(auteur) like '%TOLKIEN%'
2. une fois que tu as trouvé le bon critère isolant les enregistrements à corriger, tu balances un
update ... set auteur = 'J.R.R. TOLKIEN' where upper(auteur) like '%TOLKIEN%'
(ce like '%TOLKIEN%' étant bien évidemment le bon critère trouvé)
Ce n'est pas spécifique à MySQL, mais tu peux:
1. isoler les enregistrements correspondants à un auteur avec
select ... from ... where upper(auteur) like '%TOLKIEN%'
2. une fois que tu as trouvé le bon critère isolant les enregistrements à corriger, tu balances un
update ... set auteur = 'J.R.R. TOLKIEN' where upper(auteur) like '%TOLKIEN%'
(ce like '%TOLKIEN%' étant bien évidemment le bon critère trouvé)
So-called-punk
Messages postés
15
Date d'inscription
jeudi 23 juillet 2009
Statut
Membre
Dernière intervention
24 avril 2010
24 avril 2010 à 12:55
24 avril 2010 à 12:55
Tout d'abord, merci de me répondre!
Ensuite, le truc c'est que je voudrais une requête qui me donnerait tous les auteurs en double pour après les modifier.
Parceque pour les modifier il faut entrer dans la fiche produit, et changer l'auteur à supprimer par celui qui est bon.
Exemple: j'ai TOLKIEN et TOLKIEN J. R. R., je vais devoir chercher toutes les fiches produits de TOLKIEN pour changer l'auteur, que je remplacerais par TOLKIEN J. R. R., et ensuite supprimer TOLKIEN.
Au lieu de faire défiler la liste d'auteurs, et de chercher les auteurs en double, je voudrais une requête qui me donne tous les noms de famille en double.
Ensuite, le truc c'est que je voudrais une requête qui me donnerait tous les auteurs en double pour après les modifier.
Parceque pour les modifier il faut entrer dans la fiche produit, et changer l'auteur à supprimer par celui qui est bon.
Exemple: j'ai TOLKIEN et TOLKIEN J. R. R., je vais devoir chercher toutes les fiches produits de TOLKIEN pour changer l'auteur, que je remplacerais par TOLKIEN J. R. R., et ensuite supprimer TOLKIEN.
Au lieu de faire défiler la liste d'auteurs, et de chercher les auteurs en double, je voudrais une requête qui me donne tous les noms de famille en double.
salut
tu ne pourras pas lister les lignes de ta database groupées par "similiarité" d'une partie d'une colonne. tu vas devoir te palucher tout ça à la mimine, auteur par auteur avec l'exemple de tolkien ci-dessus
alors, en attendant qu'un grand gourou mysql surgisse du chapeau et te dise 'MySQL sait faire', tu n'as d'autre choix que de te lancer dans ce travail titanesque
tu ne pourras pas lister les lignes de ta database groupées par "similiarité" d'une partie d'une colonne. tu vas devoir te palucher tout ça à la mimine, auteur par auteur avec l'exemple de tolkien ci-dessus
alors, en attendant qu'un grand gourou mysql surgisse du chapeau et te dise 'MySQL sait faire', tu n'as d'autre choix que de te lancer dans ce travail titanesque
j'ai oublié une piste
il existe la fonction SOUNDEX mais je sais pas si elle est dispo dans MySQL
son but est de renvoyer une chaine de caractères dépendant de la prononciation (en anglais) de la chaine. Elle est particulièrement indiquée pour les similarités mais elle a ses limites : le soundex de J.R.R. TOLKIEN ne sera pas le même que celui de TOLKIEN
bon courage
il existe la fonction SOUNDEX mais je sais pas si elle est dispo dans MySQL
son but est de renvoyer une chaine de caractères dépendant de la prononciation (en anglais) de la chaine. Elle est particulièrement indiquée pour les similarités mais elle a ses limites : le soundex de J.R.R. TOLKIEN ne sera pas le même que celui de TOLKIEN
bon courage
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dam75
Messages postés
1043
Date d'inscription
lundi 4 mai 2009
Statut
Webmaster
Dernière intervention
21 février 2023
67
25 avril 2010 à 01:53
25 avril 2010 à 01:53
Bonsoir,
- oui soundex existe en MySQL : voir ici
- tu peux aussi essayer de regrouper par les X premiers caractères du nom et compter : ex avec 6 dans le code qui suit
Dans ton exemple ca te donnera :
3 TOLKIE
...
ce qui signifie qu'il y a dans ta table AUTEURS 3 auteurs dont le nom commence par TOLKIE ...
Mon conseil : commence par un nombre élevé (6 ou 7), puis baisse le progressivement jusqu'à avoir identifié tous les doublons ... (sinon, tu peux aussi écrire un peu de code si tu connais bien le SQL ou un langage de programmation comme PHP ou VB)
Bon courage
- oui soundex existe en MySQL : voir ici
- tu peux aussi essayer de regrouper par les X premiers caractères du nom et compter : ex avec 6 dans le code qui suit
SELECT COUNT(*) AS Nb, LEFT(Nom,6) AS DebutNom FROM AUTEURS GROUP BY DebutNom
Dans ton exemple ca te donnera :
3 TOLKIE
...
ce qui signifie qu'il y a dans ta table AUTEURS 3 auteurs dont le nom commence par TOLKIE ...
Mon conseil : commence par un nombre élevé (6 ou 7), puis baisse le progressivement jusqu'à avoir identifié tous les doublons ... (sinon, tu peux aussi écrire un peu de code si tu connais bien le SQL ou un langage de programmation comme PHP ou VB)
Bon courage