Requete SQL sur les doublons ?trop compliqué!!!
6 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Requete SQL sur les doublons ?trop compliqué!!!
bonjour
dans ma base SQL , chaque enregistrement a un titre écrit en deux fois sur le meme champ
exemple :AC Digne les Bains en 2 fois ect..
voici d'autres exemples
ActivaSport ActivaSport
AC Digne les Bains AC Digne les Bains
A.S.Caluire Athlétisme A.S.Caluire Athlétisme
Annuaire Coaching Annuaire Coaching
Athlé St-Julien 74 Athlé St-Julien 74
j'aimerais en enlever le deuxième titre pour n'en garder qu'un
mais je n'arrive pas à trouver une requete SQL ou PHP pour faire cà.
J'ai essayé avec explode avec comme séparateur \t mais la règle ne marche pas pour tout
AVEZ VOUS UNE IDEE A ME PROPOSER
MERCI D AVANCE AUX PRO DU SQL
dans ma base SQL , chaque enregistrement a un titre écrit en deux fois sur le meme champ
exemple :AC Digne les Bains en 2 fois ect..
voici d'autres exemples
ActivaSport ActivaSport
AC Digne les Bains AC Digne les Bains
A.S.Caluire Athlétisme A.S.Caluire Athlétisme
Annuaire Coaching Annuaire Coaching
Athlé St-Julien 74 Athlé St-Julien 74
j'aimerais en enlever le deuxième titre pour n'en garder qu'un
mais je n'arrive pas à trouver une requete SQL ou PHP pour faire cà.
J'ai essayé avec explode avec comme séparateur \t mais la règle ne marche pas pour tout
AVEZ VOUS UNE IDEE A ME PROPOSER
MERCI D AVANCE AUX PRO DU SQL
Bonjour
Pour faire une reconnaissance automatique d'expression régulière dans un script PHP, il faudrait que tu ais sur une table différente, les noms des titres que tu cherches à isoler.
Sinon, je ne vois pas coment un algorithme automatique pourrait résoudre le problème.
Ou bien éventuellement, tu pourrais transférer ta table SQL sur ton ordinateur en local, et faire le traitement de manière manuelle, avec le client mysql.
Une chose est sûre: S'il n'y a pas de moyen de faire une reconnaissance automatique d'expressions régulières, adieu l'automaticité, bonjour le processus manuel.
Eventuellement, si tu as toujours la source des données, tu pourrais refaire la table ( une autre table ), en ne sélectionnant qu'un titre à chaque fois, puis en faisant à chaque sélection, une recherche dans la première table par expression régulière, puis en affectant les autres champs de la ligne lue dans la première table.
Bien à toi.
Amicalement.
Jean-François Ortolo
Pour faire une reconnaissance automatique d'expression régulière dans un script PHP, il faudrait que tu ais sur une table différente, les noms des titres que tu cherches à isoler.
Sinon, je ne vois pas coment un algorithme automatique pourrait résoudre le problème.
Ou bien éventuellement, tu pourrais transférer ta table SQL sur ton ordinateur en local, et faire le traitement de manière manuelle, avec le client mysql.
Une chose est sûre: S'il n'y a pas de moyen de faire une reconnaissance automatique d'expressions régulières, adieu l'automaticité, bonjour le processus manuel.
Eventuellement, si tu as toujours la source des données, tu pourrais refaire la table ( une autre table ), en ne sélectionnant qu'un titre à chaque fois, puis en faisant à chaque sélection, une recherche dans la première table par expression régulière, puis en affectant les autres champs de la ligne lue dans la première table.
Bien à toi.
Amicalement.
Jean-François Ortolo
En SQL, ca me compliqué a faire.
Par contre, tu dois pouvoir facilement écrire un petit script comptant le nombre de mots dans le champ avant de remettre à jour l'enregistrement.
ex :
<?
$arrayMots = explode($contenuDeTonChamps);
for($num=0; $num <= (count($arrayMots )/2), $num++)
$nouveauContenu .= $arrayMots[$num];
?>
Par contre, tu dois pouvoir facilement écrire un petit script comptant le nombre de mots dans le champ avant de remettre à jour l'enregistrement.
ex :
<?
$arrayMots = explode($contenuDeTonChamps);
for($num=0; $num <= (count($arrayMots )/2), $num++)
$nouveauContenu .= $arrayMots[$num];
?>
-

Marie-Aude - WRInaute accro

- Messages: 4965
- Inscription: Lun Juin 05, 2006 14:15
L'idée serait de trouver le premier espace, et d'isoler la chaine jusqu'au premier espace.
Ensuite de rechercher cette chaine "plus loin" dans le champs, et de voir sa position.
Puis de supprimer tout ce qui vient après.
En syntaxe excel, ça donne
GAUCHE(A1;CHERCHE(GAUCHE(A1;CHERCHE(" ";A1;1)-1);A1;CHERCHE(" ";A1;1))-2)
en imaginant que le texte est dans la cellule A1 (je l'ai fait en vitesse sous excel pour vérifier que ça marche)
En moins dense :
Le texte est en A1
En B1 on détermine la position du premier espace :
CHERCHE(" ";A1;1)
En C1 on extrait la chaine du premier caractère jusqu'à avant le premier espace :
GAUCHE(A1;B1-1)
En D1 on trouve la deuxième occurrence de la chaine extraite : CHERCHE(C1;A1;B1)
En résultat on prend à gauche de la position de cette deuxième occurrence :
GAUCHE(A1;D1-2)
Je te laisse transformer avec les fonctions php
Ensuite de rechercher cette chaine "plus loin" dans le champs, et de voir sa position.
Puis de supprimer tout ce qui vient après.
En syntaxe excel, ça donne
GAUCHE(A1;CHERCHE(GAUCHE(A1;CHERCHE(" ";A1;1)-1);A1;CHERCHE(" ";A1;1))-2)
en imaginant que le texte est dans la cellule A1 (je l'ai fait en vitesse sous excel pour vérifier que ça marche)
En moins dense :
Le texte est en A1
En B1 on détermine la position du premier espace :
CHERCHE(" ";A1;1)
En C1 on extrait la chaine du premier caractère jusqu'à avant le premier espace :
GAUCHE(A1;B1-1)
En D1 on trouve la deuxième occurrence de la chaine extraite : CHERCHE(C1;A1;B1)
En résultat on prend à gauche de la position de cette deuxième occurrence :
GAUCHE(A1;D1-2)
Je te laisse transformer avec les fonctions php
si la règle est bien respecté normalement ton champs fait 2 fois la taille + 1 (espace)
fais une sauvegarde avant quand même
- Code: Tout sélectionner
update `table` set `champ` = substr( `champ`, 1, strlen( `champ` ) / 2 );
fais une sauvegarde avant quand même
6 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Google API : guide de développement de l'API Google
- AdSense Tracking : statistiques détaillées sur les clics AdSense
- Nombre moyen de mots par requête : statistiques AOL Août 2006
- Nombre de clics dans les pages de résultats : statistiques AOL Août 2006
- Informations sur l'infrastructure technique de Google
- Google indexe le Flash
- La formule du PageRank de Google
- Changement d'algorithme Google : nom de code Dewey
- Yagoort : Yet Another Google Rank Test
- Forum WebRankInfo : un membre du moteur de recherche Voila.fr vient discuter
Consultez la description détaillée des produits ou services de Google suivants : Google Images
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités







le forum