Moyenne des enregistrements par heure [Résolu]

Signaler
Messages postés
75
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
31 mars 2006
-
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
-
Salut tout le monde,
j'ai une table mysql contenent plusieurs entrées, dont une est spéfiée pour conserver la date des enregistrements,

Je voudrais faire un truc de statistiques pour mon site et ça fait 3jours que je cherche comment sélectionner la moyenne des enregistrements par heure et je ne trouve pas encore de solution, si qq1 pourra aider ce sera très Cool !!

Merci !

10 réponses

Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
16
salut,



j'avais oublié une parenthèse (et un alias) :

select AVG(cnt) from (select COUNT(DISTINCT ip) as cnt from stat group
by
CONCAT(DATE_FORMAT(heure_requete,'%H'),DATE_FORMAT(date_requete,'%d%m%Y')))
t;

ShareVB
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
16
salut,



je verrais ben en truc dans le genre de :



select DATE_FORMAT(champdate,'%H:00:00 %d/%m/%Y') as dateh,avg(autre_champ) from table group by dateh;

ShareVB
Messages postés
75
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
31 mars 2006

salut,

je n'ai pas un champ unique (datetime), pour les dates et les heures ensemble, mais deux champs dufférents, un pour la date, et un autre pour l'heure, quand j'ai appliqué la requête avec les paramètres spécifiques à la date (%d/%m/%Y) ça n'a fonctionné que pour un seul jour,

il ya peut etre d'autres modifications à faire ds la requete ?
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
16
salut,



si tu fais : select DATE_FORMAT(champheure,'%H:00:00') as dateh,avg(autre_champ) from table group by dateh;



ca doit te renvoyer un tableau d'au plus 24 lignes avec le moyenne par
heure quelque soit la date....si c'est pas ça reprécise ce que tu veux
sous forme de tableau...

ShareVB
Messages postés
75
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
31 mars 2006

Ma table en question s'apelle "stat" et est réalisée comme suit:
id(auto_increment)
ip(varchar)
date_requete(date)
heure_requete(time)

On veux en extraire la moyenne des enregistrements par heure (on n'aura besoin que d'une seule valeur à la fin);

exemple : 15 enregistrements, 20.5 enregistrements...

Merci pour votre aide
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
16
salut,



peut être :



select AVG(cnt) from (

select COUNT(DISTINCT ip) as cnt

from stat

group by CONCAT(DATE_FORMAT(heure_requete,'%H'),DATE_FORMAT(date_requete,'%d%m%Y')

);

ShareVB
Messages postés
75
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
31 mars 2006

Malheureusement la requ¨ºte n'as pas fonctionn¨¦e, j'ai eu le message d'erreur suivant:


MySQL a r¨¦pondu:http://dev.mysql.com/doc/mysql/en/Error-returns.html

#1064 - Erreur de syntaxe prÙrde '' ࠬa ligne 5 

Cel¨¤ veut dire quoi 
Messages postés
75
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
31 mars 2006

Très intéressant comme résultat, Bravo ShareVB ;
Messages postés
75
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
31 mars 2006

Une question; j'ai cherché des explications sur les alias dans les docs de mysql, mais j'ai trouvé très peu de choses sur ce point;

Pourriez vous m'eclaircir un peu les idées sur ce point si ça ne dérange pas;

Merci :)
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
16
salut,



un alias est un autre nom pour un objet (table, requete) : ca te permet
de renommer une table pour avoir par ex, un nom plus court ou importer
deux fois la même table dans un FROM...

ShareVB