Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Uśrednienie rekordów w bazie
Forum PHP.pl > Forum > Bazy danych > MySQL
mysz0n
Witam, mam takie pytanko:
Napisałem skrypt, który pobiera co minutę temperaturę mojego pieca.
Przykładowe dane:
  1. 21:56 09-12-12 75.9°C
  2. 21:55 09-12-12 76.0°C
  3. 21:54 09-12-12 76.2°C
  4. 21:54 09-12-12 76.2°C
  5. 21:53 09-12-12 76.3°C
  6. 21:52 09-12-12 76.3°C


czasem temp jest taka sama jak przy ostatnim odczycie, czasem różni się nieznacznie.
sprawdzam temp tak często ponieważ muszę, chce większość tych danych zapisać do bazy,
ale nie zależy mi na tak szczegółowych wiadomościach w późniejszym okresie.
Generalnie zależałoby mi na tym, że wiedziałbym że start temp = 30st doszło do 70st i zaczęło spadać do 50st. nie zależy mi na wartościach pośrednich.
I teraz mam 3 opcje:
* albo w momencie zapisu do bazy będę sprawdzał ostatnia wartość i jeśli będzie +/- 1 stopień to odpuszczę sobie zapis tego do bazy
* albo raz na jakiś czas będę przeglądał bazę i usuwał zbędne dane.
* albo będę miał te wszystkie dane w bazie i jakimś ładnym zapytaniem wyciągnę uśrednione dane - jeśli udałoby się to zrobić zapytaniem - to jakim?
Lolek13
Cytat(mysz0n @ 10.12.2012, 15:24:47 ) *
* albo będę miał te wszystkie dane w bazie i jakimś ładnym zapytaniem wyciągnę uśrednione dane - jeśli udałoby się to zrobić zapytaniem - to jakim?



http://www.w3schools.com/sql/sql_func_avg.asp chodzi Ci o cos takiego ?
mysz0n
niestety nie, zrobienie AVG(temperatura) da mi średnią temp pieca - która powie mi - dnia 12.12 śmiałeś średnią temp - 30stopni
Dla mnie idealbym rozwiązaniem byłoby puszczenie skryptu bądz zapytania który uśredniłby mi temperature co 5 minut, czyli wyświetlił avg temp z 5 ostatnich odczytów.
bo było by to bardziej dokładne i COŚ mówiące od avg(temp) z całego dnia.
sazian
  1. GROUP BY
  2. minute(DATA) DIV 5

gdzie 5 to liczba minut z ilu ma być uśrednienie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.