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 :

Requete SQL : GROUP BY


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Par défaut Requete SQL : GROUP BY
    Je débute dans le domaine et il m'arrive un petit problème.

    J'ai deux tables :
    - jt_etudiant
    - jt_article
    Chaque étudiant peut ajouter des articles. Ma requete devra alors récuperer les 5derniers articles postés mais au maximum 1 par étudiant.

    Pour l'instant j'ai écris cette requete mais elle ne retourne pas le résultat voulu.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select * 
    from jt_article 
    GROUP BY idetudiant 
    ORDER BY id DESC 
    LIMIT 5
    Merci d'avance de vos réponses.

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    salut,

    peux tu nous donner les colonnes de chaque table?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Par défaut
    Bien sûr voilà les tables :



    Je ré explique mon problème, le but étant de sélectionner les 5 étudiants ayant le champs 'dateMaj' le plus récent.
    Ensuite prendre l'article le plus récent de chacun de ces 5 étudiants.

    Merci d'avance

  4. #4
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    salut,

    alors à tester
    on choisit les 5 derniers étudiants
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select id from etudiant
    order by dateMaj desc
    limit 5
    on sélectionne la dernière date d'un article pour chaque étudiant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    select etudiant.id, max(art.dateAjout)
    from 
    jt_article art
    join
    (select id from jt_etudiant
    order by dateMaj desc
    limit 5) etudiant
    on art.id_etudiant = etudiant.id
    group by etudiant.id
    ceci fonctionne t-il?

    si oui il reste à sélectionner les articles en fonctions de ces dates trouvées

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Par défaut
    C'est bon ça marche!!

    Voici ma requete finale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT *
    FROM 
    jt_article art
    JOIN
    (SELECT id FROM jt_etudiant
    ORDER BY dateMaj DESC) etudiant
    ON art.idetudiant = etudiant.id
    GROUP BY etudiant.id
    ORDER BY art.id DESC
    LIMIT 5
    Merci beaucoup de ton aide

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

Discussions similaires

  1. Requete SQL group by interval
    Par hachka dans le forum Requêtes
    Réponses: 2
    Dernier message: 20/08/2010, 14h07
  2. requete sql: group by
    Par mathumathu dans le forum Langage SQL
    Réponses: 7
    Dernier message: 20/07/2010, 11h37
  3. Requete SQL GROUP
    Par basson dans le forum Développement
    Réponses: 2
    Dernier message: 14/11/2008, 14h35
  4. requete sql group by
    Par DIDIDIDA dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/03/2008, 11h50
  5. [Requete][Sql]Vue et group by
    Par guignol dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/12/2005, 12h58

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