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

Résolu/Fermé
fj6gtv - 6 janv. 2011 à 10:29
 NANILOVE - 16 févr. 2013 à 05:29
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

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
6 janv. 2011 à 11:09
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
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
bj je m'appelle hurahutia Tehani Hurahutia je veux récupérer mon prix spéciale
0