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

Eléphanteau du PHP | 14 Messages

12 juin 2014, 01:10

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 : Tout sélectionner

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

je veux avoir en sortie

Code : Tout sélectionner

nombre id val1 val2 val3 3 325 12 6 4 6 666 13 9 12 4 546 4 2 4 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

Mammouth du PHP | 1339 Messages

12 juin 2014, 09:39

Tu es passé de 6 a 4 lignes comment ?
Parce qu'il y avait des les meme chiffres dans nombre ?
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Eléphanteau du PHP | 14 Messages

12 juin 2014, 16:22

Bonjour,
la colonne nombre n'est pas importante.

Oui, je suis passé de 6 à 4 lignes
Vous avez raisons dans mon post je me suis gouré complètement: Au lieu de 325 il faut toujours lire 324

Merci infiniment

Mammouth du PHP | 1339 Messages

12 juin 2014, 19:40

Euh ...
SELECT * FROM table GROUP BY id ORDER BY val1 ASC ,val2 ASC ,val3 ASC 
En fait pour moi c'est donc l'iD qui est décisif ? Donc le GROUP BY permet d'eviter les doublons de iD.
Le val1, val2 et val3 n'ont pas vraiment d'incidence dans le tri si ?
Au lieu d'utiliser MIN tu fais un ASC pour classer les plus petit en premier (Je sais plus si le group by affiche le premier ou le dernier en fait)
Bon sinon tu me fais un message privé et on se fait un TeamViewer