Encore un problème de doublons!

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Encore un problème de doublons!

par Anémone » 06 mai 2008, 23:03

Merci pour cette réponse, ça va le faire!
(Et demain matin, je fonce à la librairie rechercher de la littérature sur le sql)
A +

par guilt92 » 05 mai 2008, 14:09

Bonjour,

Il suffit d'utiliser l'attribut GROUP BY qui te permet de choisir sur quel champ le DISTINCT s'appliquera...

Code : Tout sélectionner

SELECT DISTINCT champ1, champ2 FROM table" GROUP BY champ1
devrait te renvoyer les champs 1 et 2 des entrées avec un champ1 unique :)

par Ryle » 05 mai 2008, 12:13

Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "SQL & Bases de données".

Encore un problème de doublons!

par Anémone » 05 mai 2008, 01:57

Bonjour,

Ce que j'ai pu étudier traitant de l'élimination des doublons d'une table partait du principe que seul le
champ index différenciait les doublons. De fait, il n'y a plus qu'à extraire les entrées uniques pour les reintroduire dans une table complétement vidée, en passant pas une table provisoire ou un fichier texte (je penchais pour cette dernière solution). Mais voilà, si l'on considère que le doublonage porte sur un seul champ, comment peut on récupérer les autres champs avec un SELECT DISTINCT?
Illustration:
$distinct=mysql_query("SELECT DISTINCT champ1 FROM table");
while($edition=mysql_fetch_array($distinct))
{echo $distinct['champ1'].";".$distinct['champ2'];}
//affiche bien les entrées uniques, mais pas les valeurs du champ2 correspondantes
$distinct=mysql_query("SELECT DISTINCT champ1, champ2 FROM table");
while($edition=mysql_fetch_array($distinct))
{echo $distinct['champ1'].";".$distinct['champ2'];}
//n'affiche rien, car il n'y a pas de doublon sur les 2 champs à la fois
Avez vous des idées là-dessus?
Merci.