Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2508 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Encore un problème de doublons

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Encore un problème de doublons

n°1946892
jedijul
Posté le 03-12-2009 à 12:33:48  profilanswer
 

Voilà, je bosse en SQL avec PhpMyAdmin.
 
J'ai une grosse table et rien que ça.
 
En faisant un truc du genre:

Code :
  1. SELECT DISTINCT upper(last_name), upper(first_name)  FROM visitors


 
Je me retrouve avec une belle table sans doublons.
En effet, en utilisant upper (ou lower), j'enlève (enfin je pense) un problème de casse, ce qui me permet de vraiment enlever tous les doublons.
 
Cependant, j'aimerais pouvoir faire une requête qui m'affiche tous les champs en doubles et pas les champs qui ne sont pas en double.
 
Je cherche à avoir cette base pour que je puisse bosser dessus et la nettoyer... manuellement.
 
Je reconnais ne pas avoir trop d'idées...
 
Si vous avez de quoi m'aider, d'avance... MERCI !!!!

mood
Publicité
Posté le 03-12-2009 à 12:33:48  profilanswer
 

n°1946911
Fred999
Rabat-joie
Posté le 03-12-2009 à 13:58:21  profilanswer
 

select upper(last_name), upper(first_name), count(identifiaint)
from latable
group by upper(last_name), upper(first_name)
having count(identifiant) > 1

n°1946951
jedijul
Posté le 03-12-2009 à 14:48:17  profilanswer
 

Cette requête n'est pas mal du tout. Fallait y penser, moi je n'aurais pas pu  ;)  
 
Mais elle ne fait pas exactement ce dont j'ai besoin.
En effet, elle m'indique pour chaque enregistrement le nombre d'enregistrement identique (2,3,4,...)
 
Exemple,  
Pierre Dupon - 3
Paul Jacques - 2
Francis Lalane - 7 ;-)
 
J'aimerais avoir toutes les infos de ces différents doublons. (comme la société, la ville,...)
Pour exemple, pouvoir voir les 3 enregistrements Pierre Dupon pour que je puisse voir lequel est le bon, et lesquelles je peux supprimer.
Et ce, en fonction d'élément en plus, comme la ville et la société.
 
Ce n'est pas grand chose, mais voici la base du code reçu par Fred999 (merci à lui) avec ville et société... Peut-être que ça vous aidera un tout petit peu à m'aider  
 

Code :
  1. select upper(last_name), upper(first_name), societe, ville, count(identifiant) from latable group by upper(last_name), upper(first_name) having count(identifiant) > 1


 
Encore merci d'avance
 

n°1946962
Fred999
Rabat-joie
Posté le 03-12-2009 à 15:08:49  profilanswer
 

Tu peux toujours rajouter société et ville dans la clause GROUP BY pour affiner les résultats (dans le premier post, tu ne parles que de nom et prénom).
 
Sinon, c'est à toi de partir de la liste des doublons (nom, prénom) pour ensuite effectuer le traitement élément par élément...

n°1946963
skeye
Posté le 03-12-2009 à 15:12:14  profilanswer
 

Fred999 a écrit :

Sinon, c'est à toi de partir de la liste des doublons (nom, prénom) pour ensuite effectuer le traitement élément par élément...


Ou tout seulement la jouer barbare avec un select * from ttruc where id in (select...)...mais c'est laid.[:joce]


---------------
Can't buy what I want because it's free -
n°1946965
jedijul
Posté le 03-12-2009 à 15:14:02  profilanswer
 

Il n'y a donc pas de réelle méthode pour sortir uniquement les éléments en double d'une DB ? (en laissant les éléments unique de coté)

n°1946969
Fred999
Rabat-joie
Posté le 03-12-2009 à 15:17:16  profilanswer
 

skeye > ouais c'est ce que je voulais dire :o
 
Tout dépend de ce que tu appelles "élément" : i.e. comment tu définis l'unicité dans ta table, il n'y a pas de règle en la matière : comme on l'a dit, au début tu ne parles que de nom/prénom, ensuite tu parles de nom/prénom/société/ville. Ce n'est pas la même chose.
 
Pour blinder le truc à l'avenir, je te conseille d'effectuer un contrôle sur l'unicité AVANT l'insertion ; mais bon, je suppose que tu as récupéré le truc tel quel...

n°1946981
skeye
Posté le 03-12-2009 à 15:32:39  profilanswer
 

jedijul a écrit :

Il n'y a donc pas de réelle méthode pour sortir uniquement les éléments en double d'une DB ? (en laissant les éléments unique de coté)


En général si t'as des éléments réellement en double c'est que tu t'es planté à la conception de la base. Avoir deux fois exactement la même info n'a pas d'intérêt.
 
...et si, il y en a, cf la requête de fred999.


---------------
Can't buy what I want because it's free -

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Encore un problème de doublons

 

Sujets relatifs
Probleme, fonction page précédente / suivanteproblème firefox/CSS [RESOLU]
Probleme ajax/javascriptProblème de bannières publicitaires
Problème de gestion de la liaison série RS232 en VHDL(resolu) Problème de positionnement d'un bouton CSS
Problème Doublons OngletProbleme de parser XML / XSLt - Doublons
problème de boucle/session : envoi de doublons en nombre variable ?![ VB6 ] Problème de doublons [ résolu ]
Plus de sujets relatifs à : Encore un problème de doublons


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR