IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Calculer la moyenne par intervalle de 5 minutes


Sujet :

Requêtes MySQL

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Calculer la moyenne par intervalle de 5 minutes
    Bonjour
    je voudrais savoir comment je peux faire pour calculer la moyenne des valeurs d'une table par intervalles de 5 minute. Voici la structure de ma table :
    +------------+-------+------------------------+
    | Date       | h     | ROUND(AVG (Valeur ),1) |
    +------------+-------+------------------------+
    | 2013-06-25 | 20:37 |                    1.0 |
    | 2013-06-25 | 21:10 |                    1.0 |
    | 2013-06-26 | 09:24 |                    1.0 |
    | 2013-06-26 | 10:59 |                    1.0 |
    | 2013-06-26 | 12:16 |                    1.0 |
    | 2013-06-26 | 12:35 |                    1.0 |
    | 2013-06-26 | 13:32 |                    1.0 |
    | 2013-06-26 | 14:01 |                    1.0 |
    | 2013-06-26 | 14:30 |                    1.0 |
    | 2013-06-26 | 14:56 |                    1.0 |
    | 2013-06-26 | 15:08 |                    1.0 |
    | 2013-06-26 | 15:12 |                    1.0 |
    | 2013-06-26 | 15:16 |                    2.0 |
    | 2013-06-26 | 15:19 |                    2.0 |
    | 2013-06-26 | 15:20 |                    1.0 |
    | 2013-06-26 | 15:25 |                    1.0 |
    | 2013-06-26 | 15:26 |                    2.0 |
    | 2013-06-26 | 15:28 |                    2.5 |
    | 2013-06-26 | 15:30 |                    1.0 |
    Je voudrais avoir quelque chose comme ça :
    +------------+-------+------------------------+
    | Date       | h     | ROUND(AVG (Valeur ),1) |
    +------------+-------+------------------------+
    | 2013-06-26 | 09:00 |                    1.0 |
    | 2013-06-26 | 09:05 |                    1.0 |
    | 2013-06-26 | 09:10 |                    2.0 |
    j'ai vu des réponses avec les procédures stockées mais je ne comprends pas bien cela.
    Est-ce quelqu'un a une idée assez simple pour pouvoir réaliser cela??
    merci d'avance

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 51
    Points : 39
    Points
    39
    Par défaut
    bonjour,

    Je pense que le moyen le plus simple et d utilise un "round".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select date, round(h/300) as intervalH, round(AVG (Valeur ),1)
    from table
    grou by intervalH
    Le 300 sert a divise par 300 seconde (= 5 min). Comme sa toute les tranche de 5 minute la valeur de intervalH va être différente ce qui fait que si on fait un group by par cette valeur (intervalH) on obtient la un group by par tranche de 5 minute.

  3. #3
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Essaie avec mod, exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    mysql> select h, h-mod(h,cast('00:05' as time)) as groupe
        ->   from (
        -> select cast('09:00' as time) as h
        ->  union all
        -> select cast('09:01' as time)
        ->  union all
        ->  select cast('09:02' as time)
        ->  union all
        -> select cast('09:03' as time)
        ->  union all
        -> select cast('09:04' as time)
        ->  union all
        -> select cast('09:05' as time)
        ->  union all
        -> select cast('09:06' as time)
        ->  union all
        -> select cast('09:07' as time)
        ->  union all
        -> select cast('09:08' as time)
        ->  union all
        -> select cast('09:09' as time)
        ->  union all
        -> select cast('09:10' as time)
        ->  union all
        -> select cast('09:11' as time)
        ->  union all
        -> select cast('09:12' as time)
        -> ) t;
    +----------+--------+
    | h        | groupe |
    +----------+--------+
    | 09:00:00 |  90000 |
    | 09:01:00 |  90000 |
    | 09:02:00 |  90000 |
    | 09:03:00 |  90000 |
    | 09:04:00 |  90000 |
    | 09:05:00 |  90500 |
    | 09:06:00 |  90500 |
    | 09:07:00 |  90500 |
    | 09:08:00 |  90500 |
    | 09:09:00 |  90500 |
    | 09:10:00 |  91000 |
    | 09:11:00 |  91000 |
    | 09:12:00 |  91000 |
    +----------+--------+
    13 rows in set (0.00 sec)
     
    mysql>

Discussions similaires

  1. [XL-2003] Macro : Calcul de moyennes par semaine
    Par AsylumPan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/10/2014, 10h31
  2. [WD17] calcul de moyenne par ligne
    Par stefano dans le forum WinDev
    Réponses: 11
    Dernier message: 28/06/2014, 00h37
  3. [XL-2010] calcul de moyenne par ligne
    Par le_normand dans le forum Excel
    Réponses: 2
    Dernier message: 08/11/2013, 18h46
  4. Group by par intervalles de 30 minutes
    Par bullrot dans le forum Langage SQL
    Réponses: 16
    Dernier message: 06/08/2013, 08h59
  5. [Oracle] Calcul de moyenne par module
    Par naazih dans le forum Langage SQL
    Réponses: 14
    Dernier message: 27/04/2006, 14h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo