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 :

Récupérer différentes lignes dans une table pour un mois donné


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 7
    Points : 8
    Points
    8
    Par défaut Récupérer différentes lignes dans une table pour un mois donné
    Bonjour,

    J'ai une table tbl_pr_res où il se trouve des informations pour plusieurs articles (repérés par le champ con_id). Je veux pour un mois donné récupérer les lignes ou la date correpondant au mois est la plus grande pour chaque article. Donc si par exemple j'ai 4 articles je dois récupérer 4 lignes. J'ai fait une requête qui me permet simplement de récupérer la ligne de l'article où la date est la plus grande. Je n'arrive pas à trouver ce que je dois modifier. Voici la requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT * 
    FROM tbl_pr_res 
    WHERE PR_RES_DATE_FIN=(
      SELECT MAX(PR_RES_DATE_FIN) 
      FROM tbl_pr_res WHERE DATE_FORMAT(PR_RES_DATE_FIN,"%c")=2
      )
    Si quelqu'un pouvait m'aider ca serait sympa.

    Merci d'avance.
    EDIT : merci d'indenter tes requêtes, sur une seule ligne c'est illisible.

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    Donc, la date la plus récente pour chaque article pour le mois de juin (tu ne prends pas en compte les années ?) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT con_id, MAX(PR_RES_DATE_FIN)
    FROM tbl_pr_res 
    WHERE MONTH(PR_RES_DATE_FIN) = 6
    GROUP BY con_id
    Si tu veux maintenant les lignes individuelles correspondant à ces MAX :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT *
    FROM tbl_pr_res t1
    WHERE t1.PR_RES_DATE_FIN = (
      SELECT MAX(PR_RES_DATE_FIN)
      FROM tbl_pr_res t2
      WHERE t2.con_id = t1.con_id AND MONTH(PR_RES_DATE_FIN) = 6
    )
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Ca marche. Merci

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

Discussions similaires

  1. Rechercher une ligne dans une table pour mot de passe
    Par CrasherSEP dans le forum VBA Access
    Réponses: 6
    Dernier message: 25/03/2014, 17h43
  2. [AC-2007] Insérez une ligne dans une table automatique chaque mois
    Par Jiben59 dans le forum Access
    Réponses: 122
    Dernier message: 15/08/2013, 20h46
  3. Réponses: 4
    Dernier message: 03/05/2013, 16h01
  4. Réponses: 1
    Dernier message: 16/05/2010, 20h30
  5. Réponses: 2
    Dernier message: 05/09/2009, 22h05

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