Page 1 sur 1

N'afficher que les doublons d'une table

Posté : 04 avr. 2007, 16:25
par martial
Bonjour à tous
Dans une table MYsql , Je souhaiterais n'afficher que les doublons afin de pouvoir nettoyer ma table!


Merci pour la réponse

Posté : 04 avr. 2007, 16:27
par orgerix
Ben, faudrait savoir ce que tu entend par doublon et comment ta table est organisé...

Posté : 04 avr. 2007, 16:34
par DocType
un petit listing en php peut être ?

Posté : 04 avr. 2007, 16:38
par zeus
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

Posté : 04 avr. 2007, 17:23
par martial
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