Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/08/2011, 11h48   #1
Invité de passage
 
Inscription : janvier 2011
Messages : 4
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 4
Points : 1
Points : 1
Par défaut select moyenne 2 derniers prix

Bonjour
ma table
produit_id;date_prix;prix
12;2011-08-01;25.36
12;2011-08-02;25
12;2011-08-03;20
12;2011-08-04;22
135;2011-08-02;222
135;2011-08-03;251
135;2011-08-10;253
148 ...

je veux récupérer la moyenne des 2 derniers prix pour tous les produits
et la dernière date prise en compte

12 : (22+20) / 2= 21 : 2011-08-04
135 : 252 : 2011-08-10
...

merci d'avance
fj6gtv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2011, 17h37   #2
Membre Expert
 
Inscription : mars 2005
Messages : 1 565
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mars 2005
Messages : 1 565
Points : 2 178
Points : 2 178
Comme MySQL n'implémente pas les fonctions de fenêtrage, je dirais :

Code :
1
2
3
4
5
6
7
8
9
10
SELECT 
	A.PRODUIT_ID, 
	AVG(A.PRIX), 
	MAX(A.Date_Prix)
FROM PRODUIT_PRIX A 
WHERE (	SELECT COUNT(*) 
		FROM Produit_Prix B
		WHERE A.PRODUIT_ID = B.PRODUIT_ID 
		AND A.Date_Prix <= B.Date_Prix) <= 2
GROUP BY A.PRODUIT_ID
vmolines est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 09h50   #3
Invité de passage
 
Inscription : janvier 2011
Messages : 4
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 4
Points : 1
Points : 1
merci vmolines,
finallement j'ai decoupé la querie dans mon code vb.net
pour tous les produits je recupere les 2 derniers avec limite 2
car le select proposé est tres tres tres lent
merci
fj6gtv est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h50.


 
 
 
 
Partenaires

Hébergement Web