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 :

C'est reparti pour une nouvelle énigme, l'énigme du jour !


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 15
    Points : 9
    Points
    9
    Par défaut C'est reparti pour une nouvelle énigme, l'énigme du jour !
    Alors aujourd'hui problème de tri peut-être est ce le même genre de problème que ma dernière question...

    Des membres écrivent des articles forcement à des dates différentes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    id, titre, date, auteur
    5, les lapins aimes de plus en plus les carottes, 01.01.2008, mibolan
    6, mais les carottes aime de plus en plus les engrais, 02.01.2008, charles
    7, mais les engrais sont de plus en plus puissants, 02.01.2008, mibolan
    8, mais ce qui est puissant n'est pas forcement cool, 03.01.2008, charles
    9, par contre ce qui est cool est forcement puissant, 05.01.2008, mibolan
    Le résultat recherché est le suivant :

    - Les dernières mise à jours de chaque membre
    - Comme il y a seulement 2 membres je dois retourner forcement 2 résultats.
    - Ces deux résultats doivent être les derniers articles posté par chaque membres.

    Moi en mauvais MySQL-Man j'ai pondu cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM actualite GROUP BY auteur ORDER BY date DESC LIMIT 0,10
    Et là problème à cause du GROUP BY qui ne me ressort pas les derniers articles de chaque membres...

    Je me suis dit que peut-être en plaçant le GROUP BY après le ORDER BY il l'interpreterait après mais non erreur !
    Donc je suis perdu...

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Points : 631
    Points
    631
    Par défaut
    Bonsoir,
    je pense que vous n'avez pas compris que "ORDER BY" ne sert qu'après le résultat sélectionné. Donc même si vous aimeriez bien que le tri se fasse avant la recherche, ça ne fonctionne pas comme ça.

    En restant dans l'esprit de votre requête et ce n'est pas très propre, celle-ci devrait plutôt ressembler à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM (SELECT * FROM `actualite` ORDER BY `date` DESC) as `tmp` GROUP BY `auteur`
    Cordialement,
    DaRiaN.

  3. #3
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 039
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 039
    Points : 23 787
    Points
    23 787
    Par défaut
    Bonjour,

    Essayez la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select a.id, a.titre, a.date, a.auteur
    from actualite a
    inner join (
        select auteur, max(date) as date
        from actualite
        group by auteur
    ) t on a.auteur = t.auteur and a.date = t.date
    ced

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

Discussions similaires

  1. Réponses: 50
    Dernier message: 06/04/2010, 10h55
  2. Réponses: 3
    Dernier message: 23/08/2009, 19h49
  3. Ajouter case à cocher pour une nouvelle ligne
    Par skunkies dans le forum Excel
    Réponses: 3
    Dernier message: 30/05/2008, 01h13
  4. [JPanel] libérer la mémoire pour une nouvelle assignation
    Par DDNetweaver dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 12/08/2007, 11h03

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