Złożone zapytanie, Zliczanie i sumowanie czasu z tabeli |
Złożone zapytanie, Zliczanie i sumowanie czasu z tabeli |
8.11.2019, 20:03:02
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. |
|
|
12.11.2019, 22:49:10
Post
#2
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 3 Dołączył: 28.12.2011 Ostrzeżenie: (0%) |
Trzymaj:
I zapytanie:
Ten post edytował Azek 12.11.2019, 22:49:28 |
|
|
13.11.2019, 09:42:25
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 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. -------------------- |
|
|
13.11.2019, 12:45:13
Post
#4
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 3 Dołączył: 28.12.2011 Ostrzeżenie: (0%) |
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. |
|
|
Wersja Lo-Fi | Aktualny czas: 21.09.2024 - 23:11 |