[RESOLU] MySql summ time

Petit nouveau ! | 3 Messages

10 mai 2015, 22:52

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

Mammouth du PHP | 571 Messages

11 mai 2015, 16:38

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

Petit nouveau ! | 3 Messages

12 mai 2015, 07:15

Bonjour je essaye mais ça retourne valeur "Null"

Mammouth du PHP | 571 Messages

12 mai 2015, 14:09

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

Petit nouveau ! | 3 Messages

12 mai 2015, 16:53

Ma solution marchante est suivante
SELECT SEC_TO_TIME(sum(TIME_TO_SEC(heures_total))) from recapitulatif GROUP BY recap_id

Merci