Selectionner des moyennes par serveurs dont le nombre peu varier
sriwLiw
-
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
Bonsoir,
J'ai une table constituée de telle manière : idServer | datetime | valeur1 | valeur2
Je voudrai que la réponse à la requête soit comme ceci :
datetime | valeur1\(valeur1+valeur2) pour serveurA | valeur1\(valeur1+valeur2) pour serveurB | ... pour autant de serveur qu'il existe sur la table.
Je me suis bien creusé la tête mais j'arrive pas à la formuler..
Quelqu'un peut m'aider ?
J'ai une table constituée de telle manière : idServer | datetime | valeur1 | valeur2
Je voudrai que la réponse à la requête soit comme ceci :
datetime | valeur1\(valeur1+valeur2) pour serveurA | valeur1\(valeur1+valeur2) pour serveurB | ... pour autant de serveur qu'il existe sur la table.
Je me suis bien creusé la tête mais j'arrive pas à la formuler..
Quelqu'un peut m'aider ?
2 réponses
-
Bonjour
as tu regardé du côté de GROUP BY ?
-
comment créer autant de sortie que de type de serveur différent par tranche de temps,
Ta requête .... avec un Group By .. va te sortir autant de lignes que tu auras de serveur distinct....
As tu essayé au moins ?
Ca donnerait quelque-chose du genre :SELECT datetime , SUM(valeur1)\(SUM(valeur1)+SUM(valeur2)) as Moyenne FROM tatable GROUP BY serveur,datetime
-
Mais là ce que j'aurai c'est une moyenne générale sur les deux serveurs, moi ce que je veux c'est : Supposant qu'on a n idServer, Je veux un résultat de ce genre :
datetime | valeur1\(valeur1+valeur2) pour server A | valeur1\(valeur1+valeur2) pour server B | ... et ainsi de suite n fois
Mais j'avoue que je ne sais pas si c'est faisable.. -
-
Oui j'ai essayé mais ce n'est pas ce que je cherche.. Peut être que je me suis mal exprimé
Je ne vois pas pourquoi je dois sommer déjà car le résultat que je cherche est par serveur et non pas une moyenne général
Je veux avoir avoir en sortie autant de colonne que de serveur existant ajoutant à ceci bien sur le datetime
Merci quand même pour tes efforts ! -
Je veux avoir avoir en sortie autant de colonne que de serveur existant ajoutant à ceci bien sur le datetime
Ah non.. là .. tu auras autant de LIGNES que de serveurs/datetime
Au pire.. essayes en inversant le group byGROUP BY serveur,datetime
ouGROUP BY datetime,serveur
Si tu veux le résultat en Colonnes ...vu que tu ne connais pas à l'avance le nombre de serveurs... ça risque de ne pas être possible... -
Oui, ce que je compte faire justement et de construire cette requête en php en ayant prélablement récupéré les serveurs existants. Dans ce cas la, j'ai essayé ainsi pour tester avec 2 serveurs mais j'y arrive vraiment pas :
SELECT datetime, server1.valeur1/(server1.valeur1+server1.valeur2), server2.valeur1/(server2.valeur1+server2.valeur2) from ma_table, (select valeur1, valeur2 from ma_table where idServer = 'XXXXXX' GROUP BY datetime) AS server1, (select valeur1, valeur2 from ma_table where idServer = 'YYYYYY' GROUP BY datetime) AS server2;
Quelqu'un peut il me corriger cela, ça me donne une infinité de résultats !
-