Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Złożone zapytanie, Zliczanie i sumowanie czasu z tabeli
misiekdg
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 6.11.2005

Ostrzeżenie: (0%)
-----


Mam uruchomiony serwer MySql na którym zapisuje się co się dzieje z ogrzewaniem w domu.
Jedna tabela "piec" przechowuje informację kiedy piec się uruchomił a kiedy wyłączył.

Zapis jest w postaci:

Id / wartość / data

1 / 1 / 2019-11-01 02:30:00 - informacja o włączeniu się pieca
2 / 0 / 2019-11-01 02:53:00 - informacja o wyłączeniu się pieca
3 / 0 / 2019-11-01 03:01:00 - piec nadal wyłączony
4 / 1 / 2019-11-01 03:08:00 - uruchomienie pieca
5 / 1 / 2019-11-01 03:09:00 - piec nadal pracuje
....

itd

czasami system wysyła kontrolne ramki tak że w ciągu jednego cyklu grzania pojawiają się w tablicy 2-3 wpisy pod rząd z informacją że piec pracuje. tak samo kiedy piec jest wyłączony.

Chciałem stworzyć zapytanie, które będzie mi liczyło czas pracy pieca w danym dniu - czyli sumowało wszystkie czasy od 1 do 0, ale nie wiem czy jest to możliwe do wykonania w jednym zapytaniu. Zastanawiam się czy np nie prościej by było np przy zapisywaniu 0 do tablicy sprawdzać czy ostatni wpis to 1, zliczać różnicę w czasie i zapisywać wynik do innej tabeli. No ale to rozwiązanie też nie jest bez wad...
Może ktoś już starał się rozwiązać podobny problem.
Z góry dzięki za rady.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 807
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Na danych autora otrzymałem NULL.

Utrudnieniem będzie przełom dnia kiedy była zachowana ciągłość pracy pieca. Wydaje mi się, że lepszym rozwiązaniem będzie tu użycie skryptu.
Go to the top of the page
+Quote Post
Azek
post
Post #3





Grupa: Zarejestrowani
Postów: 57
Pomógł: 3
Dołączył: 28.12.2011

Ostrzeżenie: (0%)
-----


Cytat(trueblue @ 13.11.2019, 10:42:25 ) *
Utrudnieniem będzie przełom dnia kiedy była zachowana ciągłość pracy pieca. Wydaje mi się, że lepszym rozwiązaniem będzie tu użycie skryptu.

Też tak myślę. Znacznie łatwiej i prościej można to zrobić np. w PHP. Wtedy znika problem braku któregoś z id, można też ładnie zrobić podgląd całego tygodnia i obsłużyć przypadek, że piec działa na przełomie dwóch czy nawet więcej dni. Ale pytanie było, czy jest możliwe zrobienie tego w jednym zapytaniu. Odpowiedź: tak, jest to możliwe, aczkolwiek ma pewne ograniczenia.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 20:58