baeckerman83: MYSQL: Werte ausdehnen auf mehrer Zeilen? (belegte Leitungen berechnen)

Beitrag lesen

Hiho! Ich habe hier Daten in einer MYSQL Tabelle, die kommen aus einer Telefonmaschine. Die Tabelle hat folgende (für diesen Fall wichtige) Felder: datum, anrufzeitpunkt (hh:mm:ss), dauer (in Sekunden), team

Nun möchte ich berechnen wieviele Leitungen belegt waren. Belegt ist eine Leitung ab anrufzeitpunkt bis anrufzeitpunkt+dauer.

Gibt es eine Möglichkeit dies in Mysql zu bewerkstelligen?

Ich habe schon einiges versucht, dass hier ist mein letzter Versuch, wobei das JOIN nicht richtig passt. :( Er verknüpft zu viele Daten. In der Tabelle zahlen stehen einfach nur die Zahlen von 1 bis 3.000.000 damit ich jede Sekunde eines Monats abdecken kann. Hat jemand eine Idee?

SELECT 
	datum, zeit_leitungen, leitungen
FROM (
	SELECT 
		date_format(date_add('2015-04-01 00:00',INTERVAL nummern-1 SECOND),'%Y-%m-%d') as tag,
		date_add('2015-04-08 00:00',INTERVAL nummern-1 SECOND) as zeit_leitungen, 
		SUM(IF(anrufzeitpunkt<=date_add('2015-04-01 00:00',INTERVAL nummern-1 SECOND) AND (anrufzeitpunkt+dauer)>=date_add('2015-04-01 00:00',INTERVAL nummern-1 SECOND),1,0)) as leitungen 
	FROM
		zahlen 
	JOIN anrufdaten ON (
			datum=date_format(date_add('2015-04-01 00:00',INTERVAL nummern-1 SECOND),'%Y-%m-%d') 
		AND
			anrufzeitpunkt<=date_add('2015-04-01 00:00',INTERVAL nummern-1 SECOND)
		AND
			(anrufzeitpunkt+dauer)>=date_add('2015-04-01 00:00',INTERVAL nummern-1 SECOND)
			)
	WHERE 
		nummern>=1 
	AND 
		nummern<=(86400*9) 
	AND
		datum>='2015-04-01' 
	AND 
		datum<='2015-04-09'
	GROUP BY zeit_leitungen
) as leitungen