SELECT user_id, pick, Timestamp FROM sappick order by user_id;
# user_id, pick, Timestamp
'3', '1', '10:06:01'
'3', '1', '10:07:01'
'3', '1', '10:09:01'
'3', '1', '10:17:01'
'3', '1', '10:18:01'
'3', '1', '10:19:01'
'3', '2', '10:17:30'
'4', '1', '10:09:01'
'4', '1', '10:07:01'
'4', '1', '10:10:01'
'4', '1', '10:06:01'
-----------------------------
Die Aufgabe ist die Anzahl der picks pro Lagerarbeiter zu berechnen. Und zwar wenn der Lagerarbeiter länger als 5 Minuten pause macht oder
was anders macht, soll die nächste Berechnung folgen.
Z.B. Lagerarbeiter '3' hat um 10:06:01 angefangen und ist um 10:17:30 fertig. Aber weil er zwischen 10:09:01 und 10:17:01 länger als 5 Minuten pause gemacht
soll es zweimal berechnet werden. Also die erste Berechnung gilt zwischen '10:06:01' und '10:09:01' und die zweite Berechnung gilt zwischen dem nächsten
Zeitstempel 10:17:01' und '10:17:30'. Also falls Timestamp Differenz mehr als 5 Minuten soll es einmnal zum nächsten springen.
Ich habe folgendes versucht.
select user_id, Timestamp, TIMEDIFF(max(Timestamp), min(Timestamp)) as interval, SUM(pick) as picksperuser from sappick group by user_id asc;
# user_id, Timestamp, interval, picksperuser
'3', '10:06:01', '00:13:00', '8'
'4', '10:06:01', '00:04:00', '4'
----------------------------------
ABER das summiert nur einmal pro Lagerarbeiter nicht mehrmals (wegen der 5 Minuten Differenz).
Wie kann man diese Aufgabe lösen?
Danke im Voraus!
# user_id, pick, Timestamp
'3', '1', '10:06:01'
'3', '1', '10:07:01'
'3', '1', '10:09:01'
'3', '1', '10:17:01'
'3', '1', '10:18:01'
'3', '1', '10:19:01'
'3', '2', '10:17:30'
'4', '1', '10:09:01'
'4', '1', '10:07:01'
'4', '1', '10:10:01'
'4', '1', '10:06:01'
-----------------------------
Die Aufgabe ist die Anzahl der picks pro Lagerarbeiter zu berechnen. Und zwar wenn der Lagerarbeiter länger als 5 Minuten pause macht oder
was anders macht, soll die nächste Berechnung folgen.
Z.B. Lagerarbeiter '3' hat um 10:06:01 angefangen und ist um 10:17:30 fertig. Aber weil er zwischen 10:09:01 und 10:17:01 länger als 5 Minuten pause gemacht
soll es zweimal berechnet werden. Also die erste Berechnung gilt zwischen '10:06:01' und '10:09:01' und die zweite Berechnung gilt zwischen dem nächsten
Zeitstempel 10:17:01' und '10:17:30'. Also falls Timestamp Differenz mehr als 5 Minuten soll es einmnal zum nächsten springen.
Ich habe folgendes versucht.
select user_id, Timestamp, TIMEDIFF(max(Timestamp), min(Timestamp)) as interval, SUM(pick) as picksperuser from sappick group by user_id asc;
# user_id, Timestamp, interval, picksperuser
'3', '10:06:01', '00:13:00', '8'
'4', '10:06:01', '00:04:00', '4'
----------------------------------
ABER das summiert nur einmal pro Lagerarbeiter nicht mehrmals (wegen der 5 Minuten Differenz).
Wie kann man diese Aufgabe lösen?
Danke im Voraus!
Comment