Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wybór rekordów w zależności od czasu
Forum PHP.pl > Forum > Bazy danych > MySQL
krywy
Witam,
Robię projekt systemu rejestracji zleceń pracowników na obrabiarkach numerycznych. Projekt opiera się na wielu czytnikach RFID +arduino umieszczonych przy maszynach.
Arduino będzie wysyłać do bazy MySQL rekordy do tabeli o nazwie maszyny: Np. DataiGodzinaStartu;DataiGodzinazakończenia; Zlecenie;Pracownik;Stan (zalogowany;praca;ustawianie;przerwa) (moze być bool ) w arduino mogę również policzyć czas pracy dodać jako kolejną kolumnę czyli rekordy będą wyglądały następująco:

2015-01-20 22:38:56 ;2015-01-20 22:58:56 ; 1234 ; Kowalski; 1;0;1;0; (i np czas ustawiania: 0:20:0)-ustawianie
2015-01-20 22:58:56 ;2015-01-20 23:18:56; 1234 ; Kowalski; 1;1;0;0 -praca
2015-01-20 23:18:56 ;2015-01-20 23:28:56 ; 1234 ; Kowalski; 1;0;0;1 - przerwa
2015-01-20 23:28:56 ;2015-01-20 23:38:56; 1234 ; Kowalski; 1;1;0;0 -praca
2015-01-21 01:38:56 ;2015-01-20 01:58:56 ; 4321; Kowalski; 1;0;1;0 -ustawianie
2015-01-20 01:58:56 ;2015-01-20 01:18:56; 4321; Kowalski; 1;1;0;0 -praca
2015-01-20 02:18:56 ;2015-01-20 02:28:56 ; 4321; Kowalski; 1;0;0;1 - przerwa
2015-01-20 02:28:56 ;2015-01-20 02:38:56; 4321; Kowalski; 1;1;0;0 -praca

Będzie takich tabel będzie tyle ile maszyn czyli ok 10.
Chodzi mi o to czy da się wyselekcjonować czasy kiedy pracownicy pracowali na dwóch maszynach naraz i obliczyć ten czas? Czy macie może jakąś lepszą strukturę tabel aby taki rodzaj zapytania można było wykonać.

Pozdrawiam
Jakub
Pyton_000
Tak, jedna tabela z id maszyny. Po co dublować tabele skoro dane będą te same.
krywy
Witam,
Też tak pomyślałem dzisiaj. Myślałem o czymś takim aby wybrać z tabeli rekordy spełniające warunek:Ten sam pracownik + stan oznaczający pracę+ określony miesiąc.
Posortować tabelę po godzinie rozpoczęcia.
I sprawdzać warunek: Czy data i godzina rozpoczęcia pracy rekordu n+1 jest większa bądź równa dacie i godzinie rekordu n i mniejsza od daty zakończenia rekordu n. wtedy przyjąć datę/godzinę startu pracy na 2 maszynach jako n+1
Sprawdzać warunek: czy data i godzina zakończenia rekordu n+1 jest mniejsza bądź równa dacie i godzinie rekordu n wtedy przyjąć jako datę i godz. zakończenia wartość z rekordu n+1 a jeżeli większa to przyjąć wartość z rekordu n.
Teraz tylko jak to opisać w mysql ponieważ jestem trochę zielony jeżeli o mysql chodzi.

Pozdrawiam
Jakub
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.