![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Witam,
mam problem ze zliczaniem czasu pracy dla godzin nocnych. Godziny nocne mamy od 22 do 6 rano. W jaki sposób ułożyć zapytanie które zliczy ilość godzin nocnych i zwykłych dla dowolnego zakresu godzin. Przykładowo:
Chodzi mi po głowie rozwiązanie z warunkami, ale nie jest zbyt eleganckie. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 406 Pomógł: 9 Dołączył: 24.07.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Dołączam się do pytania.
Znalazłem rozwiązanie w EXCEL'u: http://www.mrexcel.com/forum/showthread.php?t=427914 Na stacku też coś jest: http://stackoverflow.com/questions/8914360...tween-two-dates Myślę, że może to ze stacka wystarczy przerobić i zrobić tablicę $hours z kluczami day, night? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Proste ify nie wystarczą, bo ktoś może zaczac zmianę np. o 21 a skończyć o 7 rano.
Dlatego ja bym się nie szczypał tylko dał 24 ify, po jednym dla każdej godziny, jeśli warunek jest spełniony dodajemy jeden do puli godzin nocnych lub dziennych. Niestety wtedy nici z elegancji, chyba, że użyjemy pętli: http://dev.mysql.com/doc/refman/5.0/en/loop-statement.html No i jest jeszcze kwestia minut, ale zakładam chodzi tylko o pełne godziny. |
|
|
![]()
Post
#4
|
|
Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
~vieri_pl rozwiązanie w PHP kompletnie mnie nie interesuje.
Kod SELECT * FROM `TIME`; +---------------------+---------------------+ | FROM | TO | +---------------------+---------------------+ | 2012-04-25 21:00:00 | 2012-04-25 07:00:00 | | 2012-04-25 23:00:00 | 2012-04-25 07:00:00 | | 2012-04-25 21:00:00 | 2012-04-25 05:00:00 | | 2012-04-25 23:00:00 | 2012-04-25 05:00:00 | | 2012-04-25 07:00:00 | 2012-04-25 19:00:00 | | 2012-04-26 00:00:00 | 2012-04-26 06:00:00 | +---------------------+---------------------+
Kod +---------------------+---------------------+----------+----------+ | FROM | TO | DAY | NIGHT | +---------------------+---------------------+----------+----------+ | 2012-04-25 21:00:00 | 2012-04-25 07:00:00 | 02:00:00 | 08:00:00 | | 2012-04-25 23:00:00 | 2012-04-25 07:00:00 | 01:00:00 | 07:00:00 | | 2012-04-25 21:00:00 | 2012-04-25 05:00:00 | 01:00:00 | 07:00:00 | | 2012-04-25 23:00:00 | 2012-04-25 05:00:00 | 00:00:00 | 06:00:00 | | 2012-04-25 07:00:00 | 2012-04-25 19:00:00 | 12:00:00 | 00:00:00 | | 2012-04-26 00:00:00 | 2012-04-26 06:00:00 | 00:00:00 | 06:00:00 | +---------------------+---------------------+----------+----------+ 6 rows in set (0.00 sec) Przesadziłem, ale działa. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 49 Dołączył: 3.07.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
WOW robi wrażenie Ten post edytował bpskiba 27.04.2012, 21:24:35 |
|
|
![]()
Post
#6
|
|
Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Źle wylicza minuty. Dla pełnych godzin działa prawidłowo. Mój post powinien być ukryty.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 07:09 |