Soucis de distinct MYSQL

Résolu
rudak Messages postés 590 Date d'inscription   Statut Membre Dernière intervention   -  
chuka Messages postés 980 Statut Membre -
Bonjour, pour mon forum, je voudrais afficher distinctement mes forums (thématiques) dans l'ordre du plus recent au plus ancien des posts qui s'y trouvent...

voila ma requette qui ne fonctionne pas : (elle me renvoie bien les forum mais pas dans lordre voulu)

SELECT forum , datepost FROM monforum GROUP BY forum ORDER BY datepost DESC

mes datespost sont stokées en timestamp (INT)

exemple table :

FORUM_____ SUJET______MESSAGE_________DATEPOST

nature_____poissons_____blablablabla________150
nature_____maisons_____blablablabla_________80
nature_____etoiles______blablablabla_________120
passion____vélo________blablablablabla_______180
passion____piscine______blablablablabla_______60
amour_____julie________blablablabla_________140

et je voudrai que cela me sorte donc :

passion
nature
amour

du plus recent (180) au plus vieu (140)

j'espere avoir été sufisament clair dans mes explications ^^, je vous remercie pour votre coup de main

21 réponses

  • 1
  • 2
  1. chuka Messages postés 980 Statut Membre 379
     
    Essaye:
    SELECT forum
    FROM ( SELECT forum, MAX(datepost)
    FROM cocforum
    GROUP BY forum
    order by MAX(datepost) desc
    ) as tab
    1
  2. rescue Messages postés 1047 Statut Contributeur 136
     
    Bonsoir,

    Sauf erreur de ma part, car je ne peux pas tester :
    select distinct forum from mon_forum order by datepost desc

    @+
    0
  3. rudak Messages postés 590 Date d'inscription   Statut Membre Dernière intervention   46
     
    non ca ne fonctionne pas si c'était si simple je me poserai pas la question... :)
    0
  4. BadGuitarist Messages postés 373 Statut Membre 27
     
    Bonsoir Rudak,

    SELECT forum, MAX(datepost)
      FROM mon_forum
      GROUP BY forum
      ORDER BY datepost DESC
    


    ou

    SELECT forum, MAX(datepost)
      FROM mon_forum
      ORDER BY datepost DESC
      GROUP BY forum
    


    ou

    SELECT forum, d
      FROM ( SELECT forum, MAX(datepost)  d
                    FROM mon_forum
                    GROUP BY forum
               )
      ORDER BY datepost DESC
    


    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. rudak Messages postés 590 Date d'inscription   Statut Membre Dernière intervention   46
     
    aucune des 3 ne renvoi le résultat dans l'ordre voulu

    CREATE TABLE IF NOT EXISTS `cocforum` (
    `forum` varchar(80) collate latin1_general_ci NOT NULL,
    `sujet` varchar(80) collate latin1_general_ci NOT NULL,
    `texte` text collate latin1_general_ci NOT NULL,
    `pseudoposteur` varchar(45) collate latin1_general_ci NOT NULL,
    `nbrevues` int(5) NOT NULL,
    `datepost` int(20) NOT NULL,
    `idpost` int(6) NOT NULL auto_increment,
    `statut` int(1) NOT NULL,
    PRIMARY KEY (`idpost`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=180 ;

    voila ma table si quelqu'un veu tester chez lui
    0
  7. BadGuitarist Messages postés 373 Statut Membre 27
     
    Bonsoir Rudak,

    Je viens de créer ta table et insérer le jeu de données que tu as mentionné dans ton post.

    Là dessus, j'ai exécuté l'ordre SQL suivant :
      SELECT forum
        FROM ( SELECT  forum, MAX(datepost)
                       FROM  cocforum
                       GROUP BY forum
            )
    


    ... et pour le SGBD Oracle, le résultat est conforme à tes spécifications.
    0
  8. rudak Messages postés 590 Date d'inscription   Statut Membre Dernière intervention   46
     
    moi cette requette me renvoie une erreur sous mysql via phpmyadmin

    #1248 - Every derived table must have its own alias
    0
  9. chuka Messages postés 980 Statut Membre 379
     
    Salut,
    SELECT forum
    FROM ( SELECT forum, MAX(datepost)
    FROM cocforum
    GROUP BY forum
    ) as tab //si tu veux le faire sous mysql..
    @+
    0
  10. rudak Messages postés 590 Date d'inscription   Statut Membre Dernière intervention   46
     
    c'est toujours pas dans l'ordre du plus recent au plus ancien...
    0
  11. chuka Messages postés 980 Statut Membre 379
     
    Essaye avec le order by!!
    SELECT forum
    FROM ( SELECT forum, MAX(datepost)
    FROM cocforum
    GROUP BY forum
    order by datepost desc
    ) as tab
    0
  12. rudak Messages postés 590 Date d'inscription   Statut Membre Dernière intervention   46
     
    oui jai essayé mais ca ne ressort toujours pas dans l'ordre
    0
  13. chuka Messages postés 980 Statut Membre 379
     
    Avec cette requête, j'ai le meme resultat que BadGuitarist (sous mysql...) et conforme à ce qui est demandé....
    0
  14. rudak Messages postés 590 Date d'inscription   Statut Membre Dernière intervention   46
     
    je teste directement sous phpmyadmin et le resultat n'est pas bon
    0
  15. chuka Messages postés 980 Statut Membre 379
     
    et en console mysql??
    0
  16. rudak Messages postés 590 Date d'inscription   Statut Membre Dernière intervention   46
     
    jvien de tester directement dans mon script et ca ne marche pas plus que sur phpMyAdmin
    0
  17. chuka Messages postés 980 Statut Membre 379
     
    On peut voir ton script?
    0
  18. rudak Messages postés 590 Date d'inscription   Statut Membre Dernière intervention   46
     
    --
    -- Structure de la table `cocforum`
    0
  19. rudak Messages postés 590 Date d'inscription   Statut Membre Dernière intervention   46
     
    voila le code qui ne t'aidera pas beaucoup plus...

    $resultfofo=mysql_query("SELECT forum FROM ( SELECT forum, MAX(datepost) FROM cocforum $seulforum GROUP BY forum order by datepost desc ) as tab") or die(mysql_error());
    
    while($dataforum = mysql_fetch_array($resultfofo))
    {
           $forum = addslashes( $dataforum['forum'] );
           echo $forum."<br>";
    }
    0
  20. rudak Messages postés 590 Date d'inscription   Statut Membre Dernière intervention   46
     
    ok la a premiere vue ca a l'air de retourner les infos corectement je teste avec le script et jte dit mais je pense que c bon :) (jespere)
    0
  21. rudak Messages postés 590 Date d'inscription   Statut Membre Dernière intervention   46
     
    je confirme ca marche merci beaucoup d'avoir persisté :)
    cette requette ma mise a bout de nerf depuis plus de 3 semaines... :)
    merci encore !
    0
  • 1
  • 2