+ Rispondi alla Discussione
Risultati da 1 a 9 di 9

Estrarre dati da tabella e fare la media ad intervalli di tempo

Ultimo Messaggio di samurai.sette il:
  1. #1
    User
    Data Registrazione
    Dec 2015
    Località
    roma
    Messaggi
    60

    Estrarre dati da tabella e fare la media ad intervalli di tempo

    Ciao a tutti. Mi trovo in una situazione un pò particolare ma non riesco a venirne fuori.
    Da una tabella mysql vorrei estrarre tutti i dati di una colonna e fare la media dei valori inclusi ogni ora (ad esempio la media di tutti i valori compresi tra le ore 00:00 e 01:00, poi la media dei valori compresi tra le ore 01:00 e 02:00 e così per il resto di tutti i valori).
    Qualcuno ha un consiglio su come muovermi?
    Ciao, grazie mille.

  2. #2
    User
    Data Registrazione
    Sep 2008
    Messaggi
    66
    si, uno!
    spiegati meglio e metti la struttura della tabella

  3. #3
    User L'avatar di Alex_2019
    Data Registrazione
    Jul 2019
    Località
    Hell
    Messaggi
    144
    per ottenere la media devi usare la funzione AVG

    https://www.w3schools.com/sql/sql_count_avg_sum.asp

  4. #4
    User
    Data Registrazione
    Dec 2019
    Località
    Pisa
    Messaggi
    14
    La cosa difficile è raggruppare per fasce orarie. La soluzione migliore secondo me è scrivere una query SQL che utilizza il costrutto "CASE" per determinare la fascia oraria, per poi raggruppare su fascia oraria e fare la media. (Cerca su google "sql case" e "sql group by range" per avere un po' di esempi su questo costrutto).

  5. #5
    User Newbie
    Data Registrazione
    Dec 2019
    Località
    Cassino
    Messaggi
    2
    Ciao! Anche se sembra difficile, te la cavi usando AVG e GROUP BY. Ti faccio un esempio se volessi avere il dato medio del campo_valore, suddiviso per ora e giorno.
    Ovviamente puoi limitare il range usando il WHERE:


    SELECT data_attivita, avg(campo_valore) FROM tab1GROUP BY hour( data_attivita), day(data_attivita)

  6. #6
    User
    Data Registrazione
    Dec 2019
    Località
    Pisa
    Messaggi
    14
    Alessandro, effettivamente la funzione hour rende la query molto più semplice!
    unconsigliodaamica.it - Blog suggerimenti di bellezza

  7. #7
    User Newbie
    Data Registrazione
    Dec 2019
    Località
    Cassino
    Messaggi
    2
    MySQL è spesso bistrattato, ma sfruttato nel modo giusto da delle soddisfazioni :-)

    Tieni presente che, se il tuo scopo è monitorare un valore nel tempo, potresti pensare addirittura ad un time series db, come ad esempio influxDB

  8. #8
    User
    Data Registrazione
    Dec 2015
    Località
    roma
    Messaggi
    60
    Ciao ragazzi, scusate se riapro questa discussione ma vorrei richiedervi un consiglio su questo argomento.
    Inizialmente vi ho chiesto come effettuare la media dei valori ad intervalli di tempo di 1 ora e mi avete aiutato in maniera eccezionale.
    Adesso la situazione è leggermente cambiata.
    Inizialmente l'intervallo di tempo la definivo io (1 ora); ora questo intervallo di tempo lo deve scegliere l'utente (può scegliere 1 ora, 30 minuti, 15 minuti). Se ad esempio l'utente sceglie un intervallo di 30 minuti come dovrei modificare la select?
    Ciao, grazie mille.

  9. #9
    User
    Data Registrazione
    Dec 2015
    Località
    roma
    Messaggi
    60
    Ciao ragazzi.
    Nessuno mi sa aiutare?

+ Rispondi alla Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.