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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Supprimer les doublons

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Supprimer les doublons

n°2096408
youssefbsf
Posté le 19-08-2011 à 16:31:32  profilanswer
 

Bonjour,  
 
J'ai une table du genre :  
 
Champ1__Champ2__Champ3  
34________A_______G14  
12________B_______F12  
14________A_______G14  
15________B_______F12  
 
Je veux une requête SQL qui me permet de supprimer les doublon sur les champs Champ2 er Champ3 pour obtenir une sélection comme celle là:  
 
Chmp1__Champ2__Champ3  
34________A_______G14  
12________B_______F12  
 
Et Merci !

mood
Publicité
Posté le 19-08-2011 à 16:31:32  profilanswer
 

n°2096411
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 19-08-2011 à 16:37:51  profilanswer
 

Tant que tu sélectionneras Chmp1 dans ta requête, tu ne pourras pas dédoublonner car pour 2 valeurs de Chmp2 et Chmp3 identiques, Chmp1 est différent.


---------------
J'ai un string dans l'array (Paris Hilton)
n°2096483
lasnoufle
La seule et unique!
Posté le 20-08-2011 à 03:05:09  profilanswer
 

Harkonnen a écrit :

Tant que tu sélectionneras Chmp1 dans ta requête, tu ne pourras pas dédoublonner car pour 2 valeurs de Chmp2 et Chmp3 identiques, Chmp1 est différent.


Je contre avec un:

select min(Chmp1) as Chmp1, Chmp2, Chmp3
from table
group by Chmp2, Chmp3;


Par contre ca dépend de si tu veux récupérer une valeur particulière de Chmp1 ou pas.


---------------
C'était vraiment très intéressant.
n°2096495
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 20-08-2011 à 10:55:27  profilanswer
 

lasnoufle a écrit :


Je contre avec un:

select min(Chmp1) as Chmp1, Chmp2, Chmp3
from table
group by Chmp2, Chmp3;


Par contre ca dépend de si tu veux récupérer une valeur particulière de Chmp1 ou pas.


Tu contres avec rien du tout car avec ta requête, pour Chmp2 == 'A', Chmp1 sera égal à 14 alors qu'il souhaite récupérer 34. Et idem pour max() et Chmp2 == 'B' :o

 

edit: sorry j'avais pas lu le reste

Message cité 1 fois
Message édité par Harkonnen le 20-08-2011 à 11:01:43

---------------
J'ai un string dans l'array (Paris Hilton)
n°2096765
lasnoufle
La seule et unique!
Posté le 22-08-2011 à 18:38:52  profilanswer
 

Harkonnen a écrit :


Tu contres avec rien du tout car avec ta requête, pour Chmp2 == 'A', Chmp1 sera égal à 14 alors qu'il souhaite récupérer 34. Et idem pour max() et Chmp2 == 'B' :o
 
edit: sorry j'avais pas lu le reste


Wesh de toute facons j'ai contré juste pour faire le malin.
 
Son exemple ne choisit ni le min ni le max, a vue de nez on dirait le "premier" enregistrement pour chaque doublon, mais bon on en sait pas plus, et de ce que j'en sais (au moins pour Oracle) il n'y a aucune garantie d'ordre dans les résultats donc le "premier" pourrait etre différent entre deux requetes...  
 
Bref, s'il a un champ supplémentaire sur lequel il veut classer/sélectionner, ca va compliquer un peu et il reviendra nous voir :)


---------------
C'était vraiment très intéressant.

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

  Supprimer les doublons

 

Sujets relatifs
Supprimer doublons dans un vector[DOTNET] ArrayList d'OBJET -> Supprimer doublons
Supprimer des doublons d'un fichier en conservant la dernière ligneSupprimer les doublons absolus dans une table ACCESS
Supprimer les doublons d'une tableje n'arrive pas à supprimer les doublons dans ma combobox
Comment supprimer les doublons d'une Table mysql ?supprimer les doublons d'une liste déroulante
Supprimer les doublons dans un List COntrolcomment supprimer proprement les doublons d'un tableau d'objet ?
Plus de sujets relatifs à : Supprimer les doublons


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