(questa è la mia prima domanda di overflow dello stack. Quindi, fatemi sapere i suggerimenti per porre una domanda migliore, se non capisco.) Ho una tabella di circa 500 persone (utenti) che stanno salendo le scale dal pavimento x (0 = x, max (y) = 50). Una persona può scalare zero/uno o più livelli in un singolo go che corrisponde a una singola riga del tavolo insieme al tempo necessario per farlo in pochi secondi. Voglio trovare il tempo medio impiegato per andare dal piano a al + 1 dove a è qualsiasi numero del piano. Per farlo intendo suddividere ogni riga della tabella menzionata in righe che hanno start_level + 1 = end_level. La durata sarà divisa in parti uguali come mostrato nella TABELLA DELLE OUTPUT PREVISTE per l'utente b.ms che aggiunge righe ogni qualvolta il livello cambia di più di 1 in modo che ogni riga abbia differenza di 1 in start_level e end_level
GIVEN TABLE INPUT
start_level end_level duration user
1 1 10 a
1 2 5 a
2 5 27 b
5 6 3 c
EXPECTED OUTPUT
start_level end_level duration user
1 1 10 a
1 2 5 a
2 3 27/3 b
3 4 27/3 b
4 5 27/3 b
5 6 3 c
Nota: i salti di livello sono solo in numeri interi. Dopo aver ottenuto l'output previsto, posso semplicemente creare una colonna sum (duration)/count (utenti distinti) a un livello start_level per ottenere il tempo medio necessario per ottenere un piano sopra da ogni piano.
Qualsiasi aiuto è apprezzato.
Cosa hai fatto fino ad ora? Qual è esattamente la tua domanda? – Shadow
come si raggiunge il valore di end_level? Nei dati di test end_level è 5 quando start level è 2, al risultato atteso end_level è 3 quando start_level è 2 –
ho aggiunto i dettagli richiesti. fammi sapere se la domanda non è ancora chiara. Grazie. –