2016-04-13 5 views
0

Ich versuche, den Durchschnittswert mit einem 10-Minuten-Intervall von einer Datetime-Spalte zu erhalten. So dick ich diese SQL bekam die Daten mit der IntervallMySQL erhalten Durchschnittswert Gruppierung von Datetime in 10 Minuten Intervall

     select 1 AS `location_id`, 
     `raw_datas`.`parsing_at` AS `date`, 
count(`raw_datas`.`station_mac`) AS `quantity` 
           FORM `raw_datas` 
          WHERE (timediff(`raw_datas`.`parsing_at`,`raw_datas`.`last_time_seen`) <= 20) 
          GROUP BY UNIX_TIMESTAMP(`raw_datas`.`parsing_at`) DIV 600 
          order by `raw_datas`.`parsing_at`; 

Aber die Ergebnisse zu erhalten, werden hinzugefügt

gezeigt
+-------------+---------------------+----------+ 
| location_id | date    | quantity | 
+-------------+---------------------+----------+ 
|   1 | 2016-04-11 05:10:22 |  137 | 
|   1 | 2016-04-11 05:20:02 |  121 | 
|   1 | 2016-04-11 05:30:02 |  24 | 
|   1 | 2016-04-11 06:06:11 |  20 | 
|   1 | 2016-04-11 06:10:02 |  36 | 
|   1 | 2016-04-11 06:20:02 |  37 | 
|   1 | 2016-04-11 06:30:02 |  29 | 
|   1 | 2016-04-11 08:46:10 |  7 | 
|   1 | 2016-04-11 08:50:02 |  21 | 
|   1 | 2016-04-11 09:00:22 |  16 | 
|   1 | 2016-04-11 09:10:22 |  16 | 
|   1 | 2016-04-11 09:20:02 |  15 | 
|   1 | 2016-04-11 09:30:02 |  8 | 
|   1 | 2016-04-11 09:41:01 |  1 | 
|   1 | 2016-04-11 15:01:02 |  69 | 
|   1 | 2016-04-11 15:10:02 |  106 | 
|   1 | 2016-04-11 15:20:02 |  69 | 
|   1 | 2016-04-11 23:18:02 |  20 | 
|   1 | 2016-04-11 23:20:02 |  124 | 
|   1 | 2016-04-11 23:30:02 |  105 | 
|   1 | 2016-04-11 23:40:02 |  80 | 
|   1 | 2016-04-12 22:00:35 |  224 | 
|   1 | 2016-04-12 22:10:02 |  191 | 
|   1 | 2016-04-12 22:20:02 |  193 | 
|   1 | 2016-04-12 22:30:02 |  66 | 
+-------------+---------------------+----------+ 

Wie kann ich die Menge Spalte machen auf die Mittelwerte für die Zeitintervalle zu zeigen, Datumsspalte?

Antwort

2

Sie können die Funktion AVG() anstelle von count() verwenden, um den Durchschnittswert

zu erhalten