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 :

Problème de requête avec des dates [MySQL-5.0]


Sujet :

Requêtes MySQL

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juin 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Problème de requête avec des dates
    Bonjour, j'ai un gros souci sur une table MySQL dont je souhaiterais sortir des informations:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE contributions 
    (idc INT,
     id_modele INT,
     date_contrib DATE,
     contrib VARCHAR);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO contributions 
    (id_modele, date_contrib, contrib) 
    VALUES
    ('601', '1378800841', 'En prêt chez xxx');
    Voilà ce que j'ai:

    idc | id_modele | date_contrib | contrib
    ------------------------------------------------
    1 | 601 | 1376122441 | En prêt chez yyy
    2 | 601 | 1378800841 | En prêt chez xxx
    3 | 568 | 1368000841 | En prêt chez aaa
    4 | 555 | 1378282441 | En prêt chez bbb

    Je souhaiterais obtenir un résultat de ce type (pour chaque modèle de matériel, je veux récupérer la contribution la plus récente):

    idc | id_modele | date_contrib | contrib
    ------------------------------------------------
    2 | 601 | 1378800841 | En prêt chez xxx
    3 | 568 | 1368000841 | En prêt chez aaa
    4 | 555 | 1378282441 | En prêt chez bbb


    Étant pas mal distrait en ce moment, je ne m'en sors pas avec cette requête, j'ai tenté du group by et order by mais je dois mal faire les choses.
    Pouvez-vous me dépanner?

  2. #2
    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 032
    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 032
    Points : 23 764
    Points
    23 764
    Par défaut
    Bonjour,

    Essayez la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT c1.idc, c1.id_modele, c1.date_contrib, c1.contrib
    FROM contributions c1
    INNER JOIN contributions c2 ON c1.id_modele = c2.id_modele
    GROUP BY c1.idc, c1.id_modele, c1.date_contrib, c1.contrib
    HAVING c1.date_contrib = MIN(c2.date_contrib)
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juin 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par ced Voir le message
    Bonjour,

    Essayez la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT c1.idc, c1.id_modele, c1.date_contrib, c1.contrib
    FROM contributions c1
    INNER JOIN contributions c2 ON c1.id_modele = c2.id_modele
    GROUP BY c1.idc, c1.id_modele, c1.date_contrib, c1.contrib
    HAVING c1.date_contrib = MIN(c2.date_contrib)
    Je viens de tester la requête, cela fonctionne après juste une petite modification, comme je souhaite afficher les données les plus récentes je dois utiliser un MAX à la place du MIN:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT c1.idc, c1.id_modele, c1.date_contrib, c1.contrib
    FROM contributions c1
    INNER JOIN contributions c2 ON c1.id_modele = c2.id_modele
    GROUP BY c1.idc, c1.id_modele, c1.date_contrib, c1.contrib
    HAVING c1.date_contrib = MAX(c2.date_contrib)
    Merci encore!

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

Discussions similaires

  1. Problème de requête avec une date
    Par ghnawfal dans le forum SQL
    Réponses: 6
    Dernier message: 18/09/2008, 14h23
  2. Requête avec des dates
    Par Danielle80 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 04/11/2007, 12h57
  3. requête avec des dates
    Par brigdid dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 28/06/2007, 09h22
  4. [MySQL] Problème de requête sur des dates
    Par dahu29 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/03/2006, 13h08
  5. SQL Requête avec des dates
    Par dahu29 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 10/03/2006, 18h20

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