• User

    Media oraria

    Ciao a tutti,

    sono alle prime armi con mysql e ho un problema sul quale ho la speranza che qui qualcuno sappia darmi un suggerimento.

    Ho una tabella che chiamo stats con la seguente struttura:

    ID = int
    utenti = mediumint
    stagione = smallint
    settimana = smallint
    data = date
    time = time (hh:mm:ss)

    Con questa tabella raccolgo i dati di quanti utenti sono online un paio di volte all'ora.

    Quello che voglio fare è ottenere la media oraria dei contatti. Per esempio la media dalle 9.00 alle 10.00.
    Ho cominciato da questa query:

    SELECT ora, AVG(utenti) FROM user_stats GROUP BY ora

    Il problema è che le ore sono inserite nel formato hh:mm:ss e vorrei fare in modo che GROUP BY agisca solo discriminando le ore e non considerando anche minuti e secondi. In questo modo mi creerebbe in automatico 24 gruppi corrispondenti alle ore.

    Si può fare?

    Grazie a tutti, Elaidon.


  • User

    Scusate se rispondo a me stesso,

    ma leggendo bene l'official reference manual di mysql ho trovato da solo la risposta alla mia domanda e la posto qui perchè magari potrebbe essere utile a qualche altro utente alle prime armi come me.

    La query da usare nel caso esposto sopra per risolvere il problema è semplicissima:

    SELECT HOUR(ora), AVG(utenti) FROM user_stats GROUP BY HOUR(ora)

    Dove seleziono i record per la sola ***ora ***e li raggruppo per **ora **facendo la media utenti.

    Grazie comunque a tutti, Elaidon.