daniel.schmid
Neuer Benutzer
- Beiträge
- 2
Hallo Forumgemeinde!
Es besteht eine Datenbank, welche Start und Endzeiten erfasst welche einem Produkt zugeordnet werden. Nun soll eine mittlere Zeitdifferenz anhand der Startzeiten ermittelt werden, welche sich aus zwei aufeinander folgenden Datensätzen des gleichen Produkts beziehen. Diese sollen dann nach gewissen Zeitformaten und Produkten Gruppiert werden.
Bsp:
Produkt | Startzeit | Endzeit
_________________________________
A |01.01.2010 14:00:01 | 01.01.2010 14:01:01
B |01.01.2010 14:01:03 | 01.01.2010 14:02:01
A |01.01.2010 16:00:01 | 01.01.2010 17:03:01
B |01.01.2010 15:01:03 | 01.01.2010 15:02:01
A |02.01.2010 14:00:01 | 02.01.2010 14:01:01
B |02.01.2010 14:01:03 | 02.01.2010 14:02:01
A |02.01.2010 16:00:01 | 02.01.2010 17:03:01
B |02.01.2010 15:01:03 | 02.01.2010 15:02:01
Erg:
Produkt | avg(Zeitdifferenz) | Zeitformat(zb. Auf Tage bezogen)
__________________________________
A | 00:10:13 | 01.01.2010
B | 00:12:13 | 01.01.2010
A | 00:09:13 | 02.01.2010
B | 00:15:13 | 02.01.2010
(Die Werte sind alle nur symbolisch zu interpretieren.)
Nun ist es so, dass meine Datenbank aus mehr als 500.000 Einträgen besitzt und meine Subquery sehr hohe Laufzeiten hervorruft.
Habt ihr eine Idee wie ich das besser lösen kann?
Würde mich sehr auf eure Unterstützung freuen!
Vielen Dank im vorraus!
Grüße Daniel
Es besteht eine Datenbank, welche Start und Endzeiten erfasst welche einem Produkt zugeordnet werden. Nun soll eine mittlere Zeitdifferenz anhand der Startzeiten ermittelt werden, welche sich aus zwei aufeinander folgenden Datensätzen des gleichen Produkts beziehen. Diese sollen dann nach gewissen Zeitformaten und Produkten Gruppiert werden.
Bsp:
Produkt | Startzeit | Endzeit
_________________________________
A |01.01.2010 14:00:01 | 01.01.2010 14:01:01
B |01.01.2010 14:01:03 | 01.01.2010 14:02:01
A |01.01.2010 16:00:01 | 01.01.2010 17:03:01
B |01.01.2010 15:01:03 | 01.01.2010 15:02:01
A |02.01.2010 14:00:01 | 02.01.2010 14:01:01
B |02.01.2010 14:01:03 | 02.01.2010 14:02:01
A |02.01.2010 16:00:01 | 02.01.2010 17:03:01
B |02.01.2010 15:01:03 | 02.01.2010 15:02:01
Erg:
Produkt | avg(Zeitdifferenz) | Zeitformat(zb. Auf Tage bezogen)
__________________________________
A | 00:10:13 | 01.01.2010
B | 00:12:13 | 01.01.2010
A | 00:09:13 | 02.01.2010
B | 00:15:13 | 02.01.2010
(Die Werte sind alle nur symbolisch zu interpretieren.)
Nun ist es so, dass meine Datenbank aus mehr als 500.000 Einträgen besitzt und meine Subquery sehr hohe Laufzeiten hervorruft.
PHP:
select
Produkt,
avg(timediff(
(select
b2.Startzeit
from baugruppeallgemein b2
where b2.Startzeit> b1.Startzeit
and
b1.Produkt= b2.Produkt
and
b2.Startzeit<= (select
max(b3.Startzeit)
from baugruppeallgemein b3
where
b3.Produkt= b1.Produkt)
limit 1),
b1.StartTime)),
date_format(Startzeit,'%v%/%y')
from
baugruppeallgemein b1
group by date_format(Startzeit,'%v%/%y'), Produkt
Habt ihr eine Idee wie ich das besser lösen kann?
Würde mich sehr auf eure Unterstützung freuen!
Vielen Dank im vorraus!
Grüße Daniel