suppression de doublons après traitement de la seule copie restante

suppression de doublons après traitement de la seule copie restante - SQL/NoSQL - Programmation

Marsh Posté le 12-06-2014 à 01:16:17    

Bonjour à tous,
 
Je sais que le problème des doublons a été largement discuté dans ce forum, mais cz cas est spécial
 
j'ai une table avec la structure
nombre,id,val1, val2, val3
id n'est pas unique et c'est pourquoi la clé est (id,val1, val2, val3).
 
si par exemple j'ai

Code :
  1. nombre id val1 val2 val3
  2. 4 324 56 6 4
  3. 6 546 3 23 34
  4. 3 325 12 8 12
  5. 6 666 13 9 12
  6. 4 546 4 2 10
  7. 8 444 2 3 5

 
je veux avoir en sortie
 

Code :
  1. nombre id val1 val2 val3
  2. 3 325 12 6 4
  3. 6 666 13 9 12
  4. 4 546 4 2 4
  5. 8 444 2 3 5


 
Donc on veut garder le Min de val1 pour chaque id doublé de même pour val2 et val3.
 
La valeur du champ nombre que je veux garder importe peu. L'essentiel c'est  
xx,  id_en_double,Min(val1),Min(val2),Min(val3). Bien sûr les MIN sont toujours dans un même id_en_double.
 
 
Merci de votre aide

Reply

Marsh Posté le 12-06-2014 à 01:16:17   

Reply

Marsh Posté le 12-06-2014 à 10:43:31    

trop fort...
C'est pas facile de te répondre... lol car dans tes exemples tu n'as aucun doublon sur ton Id...
au pire tu as 2 doublons uniquement sur le champ nombre (4-6) et après dans ta sortie, tu as l'air de prendre l'enregistrement de id Max (des 2 enregistrements en doublons...)
 
C'est donc pas gagné pour avoir une réponse à ton problème :pt1cable: ...
 
 


---------------
mieux vaut être un con au chaud, qu'un con gelé lol
Reply

Marsh Posté le 12-06-2014 à 14:42:44    

J'ai l'impression que soit il a inversé la colonne "nombre" et "id", soit il voulait dire que "nombre" n'était pas unique...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 12-06-2014 à 16:25:56    

Bonjour à tous,
 
Vous avez raison
Vous avez raisons dans mon post je me suis gouré complètement: Au lieu de 325 il faut toujours lire 324
 
Merci

Reply

Marsh Posté le 12-06-2014 à 22:52:58    

Bon, et un bete GROUP BY fait pas le boulot?
 
SELECT  nombre, id, min(val1), min(val2), min(val3)
FROM table
group by  nombre, id
 
?


---------------
Les lacets le gravier et dans l'air du soir , la Chrysler s'envole dans les fougères et les nénuphars
Reply

Marsh Posté le 13-06-2014 à 08:26:20    

Presque Poulpe....
dans ce cas, tu auras 2 lignes pour l'id 324 (après correction de maestro)...
Maestro : Le fait de dire, le nombre, n'est pas important... c'est "grave" de sens  car cela veut dire que tu veux remonter une donnée, mais tu ne sais pas à quoi cela va te servir, et à quoi elle va correspondre exactement.
Soit tu sais ce que tu veux, et tu mets les critères de sélection en fonction
soit tu ne remontes pas la donnée
et le group by (moins le nombre) de poulpe marche...

 

Par curiosité, à quoi cela va te servir d'avoir le minimum de chacune des 3 valeurs associées à ton ID?

 

Guillaume


Message édité par gpl73 le 13-06-2014 à 08:29:39

---------------
mieux vaut être un con au chaud, qu'un con gelé lol
Reply

Marsh Posté le 13-06-2014 à 08:58:26    

Ah oui j ai lu trop vite.
Et je suis d accord, pourquoi nous parler de "nombre" s il n a aucune utilité?


---------------
Les lacets le gravier et dans l'air du soir , la Chrysler s'envole dans les fougères et les nénuphars
Reply

Marsh Posté le 14-06-2014 à 11:07:56    

BONJOUR?
C'EST POUR AVOIR LES MEILLEURS PRIX.
 
Merci infiniment
 

Reply

Marsh Posté le 17-06-2014 à 08:02:07    

Rapport avec la choucroute?
 
T'en a pas marre de nous poster depuis au moins 6 mois des topics avec des problèmes où la réponse est du SQL de niveau grand débutant? Bosse un peu, sérieux, essaie de comprendre, fais quelque chose!


---------------
Les lacets le gravier et dans l'air du soir , la Chrysler s'envole dans les fougères et les nénuphars
Reply

Marsh Posté le 21-06-2014 à 18:12:12    

Bonjour,
 
Il est vrai que je suis pas du tout calé en sql et que je poste parfois des choses que je finis par résoudre de moi-même(rarement!). Par contre j'ai posté des choses qui ont été résolues par les users du forum et qui sont pour moi de véritables casse-têtes. Tout est relatif bien évidemment.
Enfin, je suis désolé de poser des questions qui sont d'un niveau relativement terre à terre.
 
Merci infiniment.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed