Mysql : DISTINCT

bonjour,

je fait la requette suivante :

mysql_query("SELECT DISTINCT forum_id FROM posts ORDER BY id ASC");

mais quand je récupére mes données, je ne peut pas avoir les autres champs (titre, id ...)

Y a t-il un moyen de les récupérer dans cette même requête ?

Merci

19 réponses

  1. Modérateur
    bonjour
    ne restez pas anonyme .... inscrivez-vous sur le forum !
    ce sera bien plus sympa vis à vis des gens qui voudront vous aider ...
    @mitiés
    b g
    1. Merci c'est exactement ce qui me fallait
      1. ah tu vois spvz ca t'as pas répondu pour rien même moi ca m'a servi presque 2 ans après!
    2. non non non, il faut juste faire distinct(tonchamp), autrechamp, autrechamp... en mettant des parenthèses au distinct ca marche... je sais pas si ca va servir a quelque chose de répondre maintenant, mais ca me démangeait :) a toute !
      1. je pense qu'il faut faire un GROUP BY puis HAVING :
        GROUP BY forum_id
        HAVING COUNT(*) == 1 ainsi les doublons ne s'affichent pas
        1. ou pitetre qu'on est pas bon...
          pitetre avec des requetes imriquées, mais ca fait un moment que jai pas touché a ca
          1. voui mai je t'avoue qu'au niveau de la requete sql je vois pas le truc...
            1. oui enfin le probléme c'est qu'avec beaucoup de messages c'est un peut lent.
              1. rajoute group by forum_id,et dans ton traitement, tu memorises le forum_id en cours et tu n'affiches que le 1er.
                du genre :
                $current=-1 ;
                while($post=mysql_fetch_array($result)) {
                  if($current!=$post['forum_id']) {
                     $current=$post['forum_id'];
                      ... affichage.....
                  }//else : rien !
                }
                
                1. Non quand je met ça rien n'est éliminé.
                  j'ai tous les résultats qui s'affichent
                  1. bah le probléme c'est que je veux éliminer tous les forum_id en double et avoir toutes les valeurs des autres champs
                    1. eh bien rajoute les champs dant ton select, ou est le pb ?
                      SELECT DISTINCT forum_id,id,title FROM post ORDER BY id DESC
                      1. je suppose que ta requete est mal fo**ue... si tu a plusieurs post sur le mm forum tu n'aura qu'un resultat quand meme... je doute que ce soit ce que tu veuilles...