Gast
#4290564
Hallo, es geht um die Auswertung von gefahrenen Zeiten bei einer Rennveranstaltung. Hierbei bekomme ich von der Uhr als Datensatz bei jeder Durchfahrt der Lichtschranke die Startnummer und die gefahrene Zeit. Diese Daten schreibe ich nun in eine Tabelle: - ID als Primary Key mit Autoincrement - Zeit - Startnummer Für die Auswertung könnte man nun einfach select startnr, sum(zeit) as gesamt from zeit group by startnr order by gesamt ASC abfragen (JOIN mit der Fehlertabelle usw habe ich mal weggelassen). Das Problem ist nun allerdings, dass die erste Runde nur eine Trainingsrunde ist und nicht mit in die Wertung einfließen darf. Diese Runde unterscheidet sich von den anderen aber nur anhand der für die jeweilige Startnummer kleinsten ID. Die Anzahl der anschließend gefahrenen Wertungsläufe ist nicht konstant, darum würde ich das gerne so weit offen halten, dass alle weiteren Zeiten danach aufsummiert werden. Ich habe bisher leider keine schöne Lösung gefunden. Das einzige was mir einfällt wäre einen eigenen Index pro Startnummer zu vergeben, der beim INSERT soetwas wie count(startnr) where startnr = $startnr oder so hinzufügt. So könnte man dann nur die Zeilen lesen, deren Startnummer-Index größer 0 ist und die Trainingszeiten fallen raus. Das macht die Tabelle aber inkonsistent, wenn man Zeiten zwischendurch rauslöscht. Hat jemand hier eine Idee für eine schönere Lösung?