Ciao a tutti avrei bisogno di un aiutino con 2 query che riguardano più o meno lo stesso argomento:
Ho una tabella con:
codice:
Tabella: Tempi
Campi: Id, Intervento, tempo_accumulato, priorita
Ho la necessità di calcolare la somma dei tempi accumulati per ogni intervento e farne una media.
Per ora con questo codice riesco ad avere il tempo totale per ogni intervento
codice:
Select sec_to_time(sum(tempo_accumulato))as Tab, intervento from tempi
where intervento > 14589 group by intervento
Il problema è fare la media di questi tempi e restituire quindi un valore unico. Purtroppo ho provato a usare la funzione avg in vari modi, a dividere il risultato per un count che mi contava gli interventi e vari modi ma non sono mai riuscito ad ottenere il risultato sperato.
Quindi avrei bisogno di qualche consiglio su come modificare la query affinche mi restituisca una media corretta.
codice:
Per facilitare posto un esempio
ID - Intrv - Priorita - tempo_acccumulato
01 - 10 - 1 - 50
02 - 10 - 1 - 10
03 - 11 - 2 - 25
04 - 10 - 1 - 19
05 - 11 - 1 - 60
Risultato Attuale:
Tempo Totale - Intervento - Priorita
00:01:19 - 01 - 1
00:01:25 - 02 - 2
Risultato Da Ottenere:
Tempo Totale
00:01:22
(la media quindi senza riferimenti a intervento e priorita)
__________________________________________________ ____
Il secondo problema invece è relativo ad una query che deve fare sempre la media del tempo accumulato però suddividerlo per priorità e pescare la prima priorità per ogni intervento.
Per recuperare la prima priorità per id ho usato questa query
codice:
Select intervento, priorita from tempi where id in
(select * from (select min(id) as id from tempi group by intervento) as tab)
group by intervento
In questo caso ottengo un risultato analogo a sopra in quanto i record ottenuti hanno questa forma
codice:
intrv - priorita
10 - 1
11 - 2
Anche in questo caso ho bisogno di ottenere un risultato simile:
Tempo Totale - Priorita
00:01:19 - 1
00:01:25 - 2
Dove però i tempi sono ottenuti dalla media del totale dei tempi, ricavato raggruppando gli interventi a seconda della loro prima priorità.
Sperando che qualcuno riesca a capire la mia richiesta ringrazio anticipatamente tutti!