|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre confirmé
![]() ![]() Inscription : mars 2003 Messages : 1 043 ![]() |
Bonjour à tous,
Soit une table dont chaque ligne est composée d'un id(clé primaire), id_produit, quantite et date (format datetime). Je voudrais savoir si il est possible d'obtenir la somme des quantités en moyenne par semaine pour un id_produit donné ? Code :
Code :
Il y a 7 résultats, ce qui est logique puisque 7 semaines se sont écoulées depuis le 1er enregistrement. Mais la requête AVG n'est sûrement pas bonne. En fait je voudrais la moyenne des résultats de la 1ère (SUM) , c'est à dire : 2 + 2 + 2 + 1 + 1 + 1 + 2 = 11 / 7 = 1.57 Possible en 1 requête ou je dois passer par PHP ? Merci de vos lumières. |
||||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 530 ![]() |
Saluton,
En fait, la deuxième requête est pertinente, c'est juste que le type de la colonne quantité doit être INTEGER et qu'il faudrait caster le AVG en FLOAT, me semble-t-il. Ça ne te coûte rien d'essayer, en tout cas.
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
C'est une sous-requête que tu veux faire ?
Code :
|
||
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() ![]() Inscription : mars 2003 Messages : 1 043 ![]() |
Merci à vous.
Et bien, en fait, skuatamad, ta requête le fait très bien. Bonne fin de journée. |
|
|
00
|
|
|
#5 | ||
|
Membre confirmé
![]() ![]() Inscription : mars 2003 Messages : 1 043 ![]() |
Argghh , non, j'ai chanté victoire trop tôt !
Si j'ai, pour un produit, une seule ligne dans la table, par exemple 5 vendus en 1 fois semaine X, la requête me retourne...5 La requête, je ne l'avais pas précisé, était déjà une requête jointe....peut-être ça, le problème ? Code :
Mais j'en demande peut-être trop ? |
||
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 530 ![]() |
Saluton,
Il te faut alors une requête, ou une vue, qui recense toutes les semaines (DISTINCT) de la table, requête (ou vue) que tu mets en jointure avec la requête que t'a proposé skuatamad.
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
|
00
|
|
|
#7 |
|
Membre confirmé
![]() ![]() Inscription : mars 2003 Messages : 1 043 ![]() |
Merci....mais peux-tu préciser ?
|
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Maljuna Kris, je crois que renaud26 ne veut qu'une seule ligne comme résultat, la moyenne du résultat de la requête avec la somme qui, elle, renvoie plusieurs lignes (7 dans l'exemple).
Par contre ta proposition peut être intéressante pour calculer la somme car s'il n'y a pas de quantite pour une semaine donnée il est peut être nécessaire d'avoir un 0 pour la somme ce qui ferait baisser la moyenne. |
|
|
00
|
|
|
#9 | ||
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 530 ![]() |
Citation:
Citation:
Code SQL :
SELECT DISTINCT WEEK(date_livraison) AS semaine FROM commandes A propos, jusqu'à présent, on mélange les semaines de toutes les années, à moins qu'il n'y ait une table commandes par année.
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
||
|
00
|
|
|
#10 |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 846 ![]() |
salut,
en fait, tu dois rajouter une condition sur l'année pour éviter les erreurs liés aux années consécutives avec les mêmes numéros de semaines |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com