Page 1 sur 1

MySql summ time

Posté : 10 mai 2015, 22:52
par andrej
Bonjour, j'ai un table avec des heures comme ci dessous,
recap_id debut fin total_heures
84 20:30:00 23:00:00 02:30:00
85 20:30:00 23:00:00 02:30:00
86 20:30:00 23:00:00 02:30:00
87 18:30:00 23:00:00 02:30:00
88 18:30:00 23:00:00 04:30:00
89 18:30:00 23:00:00 04:30:00
90 20:30:00 23:00:00 02:30:00
91 20:30:00 23:00:00 02:30:00
92 20:30:00 23:00:00 02:30:00
93 20:30:00 23:00:00 02:30:00
94 18:30:00 23:00:00 04:30:00
95 18:30:00 23:00:00 04:30:00

En fin j'ai besoin calculer la somme des heures_total en table entière
merci pour aide
Andrej

Re: MySql summ time

Posté : 11 mai 2015, 16:38
par yann18
bonjour,
-la fonction sum() calcule aussi la somme des heures(time)
SELECT TIME( SUM(total_heures) ) AS somme_des_heures FROM la_table;
la fonction time() formate l'heure au format HH:MM:SS

Re: MySql summ time

Posté : 12 mai 2015, 07:15
par andrej
Bonjour je essaye mais ça retourne valeur "Null"

Re: MySql summ time

Posté : 12 mai 2015, 14:09
par yann18
le champ total_heures doit être de type TIME.

Mais attention la plage de validité d'un type TIME est comprise entre '-838:59:59' et '838:59:59' ce qui veut dire que ton total des heures ne doit pas dépasser 838 heures ,59 mn et 59 s.
Si tu veux stocker un temps plus important c-a-d dépassant 838 heures ,59 mn et 59 s tu peux convertir ce temps en secondes en PHP puis le stocké dans un champ de type INT.Ainsi la requête SQL renverra la somme des secondes lesquelles seront reconverties à l'aide d'un script PHP en HH:MM:SS

Re: MySql summ time

Posté : 12 mai 2015, 16:53
par andrej
Ma solution marchante est suivante
SELECT SEC_TO_TIME(sum(TIME_TO_SEC(heures_total))) from recapitulatif GROUP BY recap_id

Merci