IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

group by


Sujet :

Requêtes MySQL

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 15
    Par défaut [RESOLU] group by
    Bonjour à tous,
    J'ai un pb de selection dans une base mysql via php :

    ma table "forum" contient les post du forum, ses champs sont les suivants :

    id -> numéro du post
    thread -> numéro du thread (est egal à l'id du premier post du thread)
    date -> date du post
    head -> sujet du post
    body -> corps du post
    auteur -> auteur du post

    Je cherche à selectionner les 15 derniers threads, avec pour chaque thread :
    - le numero du thread
    - l'auteur du premier post du thread
    - le head du premier post du thread
    - la date du dernier post du thread
    - le nombre de posts du thread

    Pour l'instant je fais :

    CODE
    "SELECT thread,count(id) as cnt,max(date) as last,head,auteur FROM forum GROUP BY thread ORDER BY last DESC LIMIT 15";


    Tout va super bien à un détail pres : A peu pres pour un thread sur 30 (mais toujours pour les mêmes threads), ce n'est ni l'auteur, ni le head du premier post qui est selectionné mais un autre.

    Voir sur la page http://www.skitour.fr/forum/
    (chaque fois qu'il y a un re: dans le head)

    Merci,

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 24
    Par défaut Re: group by
    Citation Envoyé par jeroen
    CODE

    "SELECT thread,count(id) as cnt,max(date) as last,head,auteur
    FROM forum
    GROUP BY thread
    ORDER BY last DESC LIMIT 15";
    Cette requete n'est pas complete. Essaye ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT thread,count(id) as cnt,max(date) as last,head,auteur 
    FROM forum 
    GROUP BY thread, max(date), head, auteur 
    ORDER BY last DESC LIMIT 15;
    Ca marchera peut etre

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 15
    Par défaut
    ERROR !
    Je ne cherche pas à regrouper sur tous les champs, mais uniquement sur le numero du thread.

    Le problème est visiblement au niveau du regroupement...
    - le numero du tread est ok (nomal, il est identique pour tous les champs regroupés)
    - la date est correcte (dernière date des champs regroupés). C'est le max() qui fait ça...
    - l'auteur et le head a selectionner ne sont pas les bons (et a vrai dire, et a vrai dire je n'indique pas lesquels prendre)..

    QQ sait'il comment faire ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 15
    Par défaut
    Résolu

    Il faut imaginer 2 fois la même table et faire une jointure...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    "SELECT f2.thread,count(f2.id) as cnt,max(f2.date) as last, f1.head, f1.auteur
    FROM forum as f1,forum as f2
    WHERE f1.id = f2.thread
    GROUP BY f2.thread
    ORDER BY f2.last
    DESC LIMIT 15";
    Merci quand même

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CR8] Groupes nommés par ordre spécifié
    Par PschittN dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 17/05/2004, 23h46
  2. Selection de Groupes ki ne sont pas sous groupes...
    Par superdada dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/07/2003, 14h42
  3. [RaveReport] - Bloquer groupe sur une page
    Par muaddib dans le forum Rave
    Réponses: 3
    Dernier message: 25/02/2003, 16h21
  4. gestion des groupes
    Par muaddib dans le forum QuickReport
    Réponses: 3
    Dernier message: 31/12/2002, 11h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo