Mysql Récupérer les prix de fin de mois

Résolu
fj6gtv -  
 NANILOVE -
Bonjour,

voici mon probleme
une table mysql TPRIX avec les champs suivant:
PRIX_ID , ARTICLE , PRIX , PRIX_DATE

j'ai des milliers d'articles et un prix quasi quotidien
comment récupérer la liste des prix correspondant a la derniere date du mois, pour chaque mois (de 2010 par exemple ) ?

voici mon dernier essai ,limité a un article ,qui n'est pas concluant , sur 12 prix 9 sont les premiers jours du mois :(

select PRIX_ID,ARTICLE,PRIX,PRIX_DATE from TPRIX T1 where ARTICLE=1298 and PRIX_DATE = (select max(T2.PRIX_DATE)) from TPRIX T2 where T1.PRIX_ID=T2.PRIX_ID ) group by ARTICLE,year(PRIX_DATE),month(PRIX_DATE)

merci d'avance

fj6gtv

4 réponses

  1. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,

    Je modifierais la clause WHERE de ta sous requête :
    SELECT 
        PRIX_ID,
        ARTICLE,
        PRIX,
        PRIX_DATE 
    FROM TPRIX T1 
    WHERE
        ARTICLE=1298 AND
        PRIX_DATE = 
            (SELECT MAX(T2.PRIX_DATE)) FROM TPRIX T2
            WHERE
                T1.ARTICLE = T2.ARTICLE AND
                YEAR(T1.PRIX_DATE) = YEAR(T2.PRIX_DATE) AND
                MONTH(T1.PRIX_DATE) = MONTH(T2.PRIX_DATE))
    GROUP BY ARTICLE, year(PRIX_DATE), month(PRIX_DATE) 
    


    Xavier
    0
  2. fj6gtv
     
    merci de ta reponse rapide .. mais ca ne change rien
    c'est comme si la requete ne tenait pas compte du max dans la clause
    .. d'ailleurs avec min ou sans fonction j'ai toujours le meme resultat

    voici un resultat ou j'ai ajouté le max dans le select ( avec ta modif xavier )

    PRIX_ID ; ARTICLE; PRIX ; PRIX_DATE ; max(PRIX_DATE)
    1951214 ;639; 399.72; 15.01.2010; 31.01.2010
    1971914; 639; 267.82; 15.02.2010; 28.02.2010
    1989320 ;639; 397.4; 15.03.2010; 31.03.2010
    2009066 ;639; 498.43; 15.04.2010; 30.04.2010
    2033604 ;639; 426.22; 17.05.2010; 31.05.2010
    2047259 ;639; 330.54; 15.06.2010; 30.06.2010
    2065846 ;639; 324.6; 15.07.2010; 31.07.2010
    2087235 ;639; 384.87; 16.08.2010; 31.08.2010
    2107831 ;639; 435.86; 15.09.2010; 30.09.2010
    2128646 ;639; 576.71; 15.10.2010; 31.10.2010
    2147810 ;639; 600.27; 15.11.2010; 15.11.2010
    0
  3. NANILOVE
     
    bj je m'appelle hurahutia Tehani Hurahutia je veux récupérer mon prix spéciale
    0