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 02/09/2011, 12h33   #1
Membre du Club
 
Inscription : mai 2007
Messages : 209
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 209
Points : 50
Points : 50
Par défaut Calculer la moyenne des moyens.

Bonjour,
j'ai une requête qui me donne pour un client donné un taux.
Code :
1
2
3
4
5
SELECT COALESCE(ROUND(COUNT(date) / ( (DATEDIFF(\''.$borne[1].'\',\''.$borne[0].'\')+1) * COUNT(DISTINCT(id_offre))) * COUNT(DISTINCT(id_offre)),2), 0) AS moy_periode
FROM historique 
WHERE date >= \''.$borne[0].'\' 
AND date <= \''.$borne[1].'\' 
AND id_client='.$_SESSION['id_client'] . ' ' ;
Maintenant j'aimerais pouvoir faire la même chose pour tous mes clients.
Sur le principe j'utilise la même requête et je supprime la restriction à l'id_client.

Mais en fait, ce que veut le demandeur c'est la moyenne de toutes les moyennes.
Comment fait-on cela ?

Merci
christobale est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 13h32   #2
Expert Confirmé
 
Avatar de Maljuna Kris
 
Homme Avcxjo MoKo
Retraité
Inscription : novembre 2005
Messages : 2 530
Détails du profil
Informations personnelles :
Nom : Homme Avcxjo MoKo
Âge : 60

Informations professionnelles :
Activité : Retraité
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2005
Messages : 2 530
Points : 3 523
Points : 3 523
Saluton,
Tu mets ta requête en sous-requête d'une requête principale qui demande AVG(moy_periode)
__________________
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)
Maljuna Kris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 14h18   #3
Membre du Club
 
Inscription : mai 2007
Messages : 209
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 209
Points : 50
Points : 50
Ha, heu, oui.
Tu pourrais m'en dire plus sur la sous-requête ? Je ne suis pas très rodé à ce genre de chose.
christobale est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 16h15   #4
Expert Confirmé
 
Avatar de Maljuna Kris
 
Homme Avcxjo MoKo
Retraité
Inscription : novembre 2005
Messages : 2 530
Détails du profil
Informations personnelles :
Nom : Homme Avcxjo MoKo
Âge : 60

Informations professionnelles :
Activité : Retraité
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2005
Messages : 2 530
Points : 3 523
Points : 3 523
Code :
1
2
3
4
5
SELECT AVG(moy_periode) FROM
(SELECT COALESCE(ROUND(COUNT(date) / ( (DATEDIFF(\''.$borne[1].'\',\''.$borne[0].'\')+1) * COUNT(DISTINCT(id_offre))) * COUNT(DISTINCT(id_offre)),2), 0) AS moy_periode
FROM historique 
WHERE date >= \''.$borne[0].'\' 
AND date <= \''.$borne[1].'\' ) AS subquery
__________________
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)
Maljuna Kris est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h23.


 
 
 
 
Partenaires

Hébergement Web