Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Estrarre dati da tabella e fare la media ad intervalli di tempo
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • S
      samurai.sette User • ultima modifica di

      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.

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • C
        chiabgigi User • ultima modifica di

        si, uno!
        spiegati meglio e metti la struttura della tabella

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • A
          alex.2019 User Attivo • ultima modifica di

          per ottenere la media devi usare la funzione AVG

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

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • D
            dario.b User • ultima modifica di

            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).

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • A
              alessandro.lanni User Newbie • ultima modifica di

              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)

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • D
                dario.b User • ultima modifica di

                Alessandro, effettivamente la funzione hour rende la query molto più semplice!

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • A
                  alessandro.lanni User Newbie • ultima modifica di

                  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

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • S
                    samurai.sette User • ultima modifica di

                    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.

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • S
                      samurai.sette User • ultima modifica di

                      Ciao ragazzi.
                      Nessuno mi sa aiutare?

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      Caricamento altri post
                      Rispondi
                      • Topic risposta
                      Effettua l'accesso per rispondere
                      • Da Vecchi a Nuovi
                      • Da Nuovi a Vecchi
                      • Più Voti