ciao a tutti, ho un database mysql con una tabella strutturata in questo modo:
id | partecipante | tipobici | disinizio | disfine | tempoi | tempof
Si tratta di un semplice modo per gestire una staffetta in bici dove vengono percorsi N Km da parte di X partecipanti. Ogni bici è dotata di contakm indipendente. Il partecipante veniva seguito da un furgone con a bordo i partecipanti "mancanti" e la bici non in uso in modo che il successivo partecipante potesse scegliere se proseguire con il mezzo del precedente staffettista o cambiare.
Mi è stato chiesto di fare una statistica in quanto le bici sono 2: bici da corsa e mountain bike.
In pratica il negoziante che ha fornito i mezzi vorrebbe capire quale bici è stata più utilizzata dai partecipanti, quale ha percorso più strada e in quali tempi.
Questa query conta esattamente quanti partecipanti hanno utilizzato il mezzo:
codice:
select count(id), tipobici from tabella group by tipobici
Poi evoluta in questa:
codice:
select count(id), tipobici, MIN(disinizio), MAX(disfine) from tabella group by tipobici
dopo in php non facevo altro che sottrarre i valori fine ed inizio per ogni mezzo ed ottenere così il dato che mi interessava. Lo step successivo è stato creare la stessa query con i tempi.
C'è però un problema... ci siamo accorti che i tempi e soprattutto i KM spesso erano sballati. In pratica se Tizio con una bici concludeva che il contakm segnava 122, Caio partiva con il contakm a 130. Naturalmente questo accadeva solo se il mezzo veniva caricato sul furgone e trasportato per la tappa successiva. Il motivo ci è stato poi spiegato: lo staffettista aveva semplicemente fatto un po' di km per scaldarsi ed in mancanza d'altro ha usato la bici trasportata e messa su appositi rulli.
Come faccio a calcolare esattamente i km percorsi? in pratica dovrei calcolare la differenza per ogni record trovato nella select, in questo caso 2... Qualche suggerimento?