![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 30.06.2017 Ostrzeżenie: (0%) ![]() ![]() |
W tabeli mam parametry z wartoscią liczbowa i timestamp co minutę.
Obecnie pobieram średnią z ostaniej godziny. Sprawdzam też jak długo wstecz średnia utrzymuje się w danym przedziale. Obecnie robie to w pętli php zmniejszając datę/czas początkowe o pięć minut i sprawdzam czy jeszcze średnia jest w danym przedziale. Czy można to samo zrealizować wyłącznie poprzez jedno zapytanie do mySQL? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 807 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Zapytanie, które pokazałem liczy średnią od czasu ostatniego wyniku (X), do godziny wstecz (X-60).
Średnia jest obliczana z przesunięciem 5 minut 100-krotnie. Czyli kolejna średnia z przedziału X-5 do X-65, kolejna X-10 do X-70, itd. W prosty sposób można zmodyfikować zapytanie, aby startować od konkretnego czasu, a nie czasu najświeższego wyniku. Natomiast dodając warunek na obliczoną w każdym powyższym przedziale średnią i wybierając najświeższy jeden wynik (obydwa działania w tym zapytaniu), otrzymamy, jak rozumiem szukany wynik. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 00:34 |