Abbiamo un database MySQL in cui sono stati aggiunti i valori delle serie temporali.Dati delle serie temporali in MySQL: campionamento
-------------------------------------
|Col A | Col B | Timestamp |
-------------------------------------
|1.23 | 4.48 |2013-09-03 10:45:27 |
-------------------------------------
|1.23 | 4.48 |2013-09-03 10:46:27 |
-------------------------------------
|1.23 | 4.48 |2013-09-03 10:47:27 |
-------------------------------------
I dati sono distanziati in modo non uniforme tempo w.r.t, alcuni punti sono separati da un minuto & alcuni di pochi secondi.
Esiste un modo efficace per interrogare questo database per estrarre i dati per ogni n
minuto/secondo/ora? Idealmente vorrei il valore interpolato (lineare) al minuto n
, ma il punto più vicino al punto n
o all'ultimo punto prima o al punto n
sarebbe anche quello.
Il caso d'uso è che voglio tracciare questo in un grafico, ma non voglio troppi punti del necessario. Quindi, per il tracciamento di un anno, preferirei interrogare solo un paio di punti al giorno. Mentre pianifico per un giorno, vorrei tracciare un punto ogni minuto o così.
Posso fare tutto questo in PHP, ma c'è un modo per farlo direttamente nel database? In caso contrario, sto contemplando l'utilizzo di un database di serie temporali, ma i vincoli di budget mi limitano solo a quelli gratuiti. Esiste un database di serie temporali gratuito che fornisce il campionamento out of the box e preferibilmente l'interpolazione?
possibile duplicato di [ Campionamento di timeseries SQL] (http://stackoverflow.com/questions/7335627/sampling-sql-timeseries) – Domi