Hallo in die Runde,
ich habe eine Tabelle mit zwei Spalten und folgenden Inhalt
Time | Value
10.09.2015 14:30:15 | on
10.09.2015 14:50:15 | off
10.09.2015 15:30:05 | on
10.09.2015 15:40:05 | off
Usw.
Jetzt möchte ich gerne die Zeit erfassen wie lange der Wert auf on steht, also von 14:30:15 – 14:50:15 = 20 Minuten. Die Minuten sollten wenn möglich nach Monaten gruppiert werden. Also ungefähr so:
Monat Jahr | Minuten
Januar 2015 | 158
Februar 2015 | 487
März 2015 | 468
usw.
Ich komme aber nicht auf die Lösung. Mein versuch zeigt mir zwar die richtigen Werte an aber leider nicht im Zeitformat.
Ich bin für jeden Tipp dankbar
Viele Grüße
Torsten
ich habe eine Tabelle mit zwei Spalten und folgenden Inhalt
Time | Value
10.09.2015 14:30:15 | on
10.09.2015 14:50:15 | off
10.09.2015 15:30:05 | on
10.09.2015 15:40:05 | off
Usw.
Jetzt möchte ich gerne die Zeit erfassen wie lange der Wert auf on steht, also von 14:30:15 – 14:50:15 = 20 Minuten. Die Minuten sollten wenn möglich nach Monaten gruppiert werden. Also ungefähr so:
Monat Jahr | Minuten
Januar 2015 | 158
Februar 2015 | 487
März 2015 | 468
usw.
Ich komme aber nicht auf die Lösung. Mein versuch zeigt mir zwar die richtigen Werte an aber leider nicht im Zeitformat.
Code:
select SUM(Bla)/60
FROM
(
SELECT Time, Value
,(SELECT Time FROM `Item22` as b WHERE b.Time > a.Time AND b.Value="OFF" ORDER BY Time LIMIT 1) as OffTime
,((SELECT Time FROM `Item22` as b WHERE b.Time > a.Time AND b.Value="OFF" ORDER BY Time LIMIT 1) - Time) as Bla
FROM `Item22` as a
WHERE Value ="ON"
) as Blupp
Viele Grüße
Torsten