Prengepower
Mitglied
Hi!
Ich habe folgendes Problem:
Ich habe eine MySQL Tabelle mit folgenden Beispiel-Daten:
ID | Name | Datum
1 | A | 1.1.
1 | B | 2.1.
2 | A | 1.1.
2 | A | 1.1.
2 | A | 2.1.
2 | B | 2.1
2 | B | 3.1.
2 | C | 4.1.
3 | A | 1.1.
3 | D | 3.1.
4 | D | 1.1.
So daraus möchte ich jetzt folgendes ermitteln: ich brauche die Start und Endzeit eines jeden Auftrags. Dabei ist aber zu beachten, dass die Startzeit immer der Augenblick ist, in dem der Name das erste mal mit der ID in Berührung kommt. Die Endzeit ist aber die Startzeit von der Gruppe danach dann..
Es sollte also beispielsweise für die ID 2 folgendes herauskommen:
ID | Name | Start | Ende
2 | A | 1.1. | 2.1
2 | B | 2.1 | 4.1
2 | C | 4.1. | 4.1
Ich habe schon viel rumprobiert aber es nicht so wirklich geschafft.
Das einzige ist die Startzeit, die denke ich so ganz gut klappt:
Wär super wenn mir jemand helfen könnte
Danke
Ich habe folgendes Problem:
Ich habe eine MySQL Tabelle mit folgenden Beispiel-Daten:
ID | Name | Datum
1 | A | 1.1.
1 | B | 2.1.
2 | A | 1.1.
2 | A | 1.1.
2 | A | 2.1.
2 | B | 2.1
2 | B | 3.1.
2 | C | 4.1.
3 | A | 1.1.
3 | D | 3.1.
4 | D | 1.1.
So daraus möchte ich jetzt folgendes ermitteln: ich brauche die Start und Endzeit eines jeden Auftrags. Dabei ist aber zu beachten, dass die Startzeit immer der Augenblick ist, in dem der Name das erste mal mit der ID in Berührung kommt. Die Endzeit ist aber die Startzeit von der Gruppe danach dann..
Es sollte also beispielsweise für die ID 2 folgendes herauskommen:
ID | Name | Start | Ende
2 | A | 1.1. | 2.1
2 | B | 2.1 | 4.1
2 | C | 4.1. | 4.1
Ich habe schon viel rumprobiert aber es nicht so wirklich geschafft.
Das einzige ist die Startzeit, die denke ich so ganz gut klappt:
Code:
SELECT
id,
name,
DATE_FORMAT(startdate, '%M %e, %Y, %l:%i%p') as startdate
FROM
(
SELECT
id,
startdate,
name
FROM
(
SELECT
id,
name,
@startdate := IF(@lastid = id AND @lastname = name, @startdate, datum) AS startdate,
@lastid := id,
@lastname:= name
FROM
(SELECT @lastid:='', @lastname= '', @startdate = '') AS vars,
(SELECT * FROM test ORDER BY id asc, datum asc) AS daten
) AS daten
) AS daten
GROUP BY
id,
startdate
Order by id ASC
Wär super wenn mir jemand helfen könnte

Danke
