group BY et moyenne de valeurs - SQL/NoSQL - Programmation
Marsh Posté le 31-08-2014 à 23:13:21
Pour faire un arrondi aux 5 minutes, tu peux utiliser une formule
Code :
|
Que tu peux utiliser pour grouper tes valeurs. Ensuite il suffit de faire un AVG sur la valeur pour laquelle tu veux une moyenne, les GROUP BY qui vont bien et le tour est joué.
Donc pour la requête, en partant du principe que la colonne "heure" est de type time (je cochonne pour afficher l'heure, mais tu as l'idée)
Code :
|
Voir un petit sqlFiddle
Cela dit (mais c'est un détail), je peine à comprendre pourquoi tu as heure et date dans des champs différents, un datetime ferait aussi bien l'affaire, non ?
Marsh Posté le 01-09-2014 à 08:01:33
deliriumtremens a écrit : Pour faire un arrondi aux 5 minutes, tu peux utiliser une formule
|
Super, merci beaucoup elle marche nikel.
Dans ma tête je trouvais ça mieux de séparer Heure et Date si je voulais manipuler plus facilement.
Marsh Posté le 02-09-2014 à 11:23:19
Salut,
Je me suis rendu compte que j'ai un petit problème, quand j'arrive à 19:00 il me marque 19:60. J'ai regardé avec :
Code :
|
Mais j'arrive pas à modifier facilement 19:60 en 19:00.
Auriez vous une solution simple?
Merci
Marsh Posté le 02-09-2014 à 15:01:16
Ah ouais c'est pas tout faux
En plus, 16:60 n'est pas groupé avec 17:00, ce qui est aussi ennuyeux.
Bon, ben y a peut-être plus élégant, mais ça devrait aller mieux avec un modulo 60 sur les minutes, par contre il faut aussi régler le "heure + 1", pour les minutes entre 56 et 59.
Ce qui nous donne :
Code :
|
et le SqlFiddlecorrigé
Marsh Posté le 02-09-2014 à 15:41:17
Sinon, tu peux simplifier en groupant sur les 5 minutes "précédentes" (donc 16:01, 16:02 iront avec 16:00 au lieu d'aller avec 16:05 comme dans l'autre version).
Comme ça, pas besoin de se préoccuper de heure + 1 pour les 5 dernières minutes.
Code :
|
Marsh Posté le 31-08-2014 à 20:01:12
Bonjour à tous,
Je cherche à faire une requette sql pour faire le moyenne de 5 valeurs aquise toutes les minutes et de les grouper ensuite toutes les 5minutes après.
En gros je voudrais :
auriez vous déjà fait se genre de requête? car j'en ai trouvé sur internet mais elles sont super complexe.
Merci de votre aide.
Message édité par hppp le 31-08-2014 à 20:05:52