N'afficher que les doublons d'une table

Eléphant du PHP | 89 Messages

04 avr. 2007, 16:25

Bonjour à tous
Dans une table MYsql , Je souhaiterais n'afficher que les doublons afin de pouvoir nettoyer ma table!


Merci pour la réponse

Mammouth du PHP | 693 Messages

04 avr. 2007, 16:27

Ben, faudrait savoir ce que tu entend par doublon et comment ta table est organisé...

Mammouth du PHP | 1776 Messages

04 avr. 2007, 16:34

un petit listing en php peut être ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

04 avr. 2007, 16:38

Bonjour,

Il suffit de récupérer toutes les lignes pour lesquelles la clé apparait en double en faisant un GROUP BY sur cette clé et un HAVING count(*) > 1.

NB : Ce message est volontairement dépourvu d'explications claire car la question en est dépourvue elle aussi
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 89 Messages

04 avr. 2007, 17:23

La base de données est une gestion de stock
id...N° COLIS...NOM...PRENOM...ADRESSE..DATE DE LIVRAISON...REGION
Chaque commercial saisi son article par l'intermédiaire d'un fichier Calc de OPEN OFFICE (car il utilise son portable souvent non connecté au réseau de l'entreprise). Ce fichier est ensuite transformé en CSV et importé dans la base.
Je me retrouve donc avec des mêmes numéros de colis, même adresse...seul le champ date différe (date de livraison renseignée ou non).

Comme il m'est trés difficile pour l'instant d'enregistrer les données par fichiers CSV en ne mettant que le champ date à jour (vu mon faible niveau en PHP), je me demandais si il existait une requete SQL (dans PHPMYADMIN) afin d'extraire les fiches ayant les mêmes champs N° COLIS, ADRESSE,
REGION (ce que j'appelle les champs en double)sauf le champ DATE. Cela me permettra de nettoyer ma table et de garder que la fiche qui m'interresse
Ou bien peut-être existe-t-il la solution suivante

Code : Tout sélectionner

SELECT DISTINCT (t-col), NOM, PRENOM, ADRESSE, REG ORDER BY id DESC
ce qui je crois permettrai de n'afficher que les enregistrements les plus récents!
En espérant avoir été clair