développement web
PHP, MySQL, JavaScript/jQuery
Administration Linux/Apache...

bases de donnéesSomme d'un champ TIME sous MySQL

Lundi 08 Février 2010
lu 28082 fois
2 commentaires
Si vous calculez le total des résultats d'un champ de type TIME avec la fonction SUM de MySQL, le résultat est retourné sous forme d'un nombre de secondes.
Voici la solution pour avoir le total sous la forme HH:MM:SS

Exemple pour une table contenant les valeurs suivantes :
+----------+
| mytime |
+----------+
| 00:02:07 |
| 00:05:45 |
| 00:01:15 |
| 00:13:09 |
| 00:35:45 |
| 00:11:29 |
| 00:03:54 |
| 00:01:27 |
| 00:10:53 |
+----------+
SELECT SUM(mytime) FROM table;

+-------------+
| SUM(mytime) |
+-------------+
| 8384.000000 |
+-------------+

La requête pour avoir le total dans le format TIME est la suivante :
SELECT SEC_TO_TIME(SUM(mytime)) FROM detail_view

+----------------------------------+
| SEC_TO_TIME(SUM(mytime)) |
+----------------------------------+
| 02:19:44 |
+----------------------------------+

Commentaires

tout simplement ! Cela fait quelques jours que je cherche comment ajouter des durées en php... Merci

13/05/2013 20:57

étrange mais chez moi, pour obtenir un résultat juste je dois faire :

SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(myTime))) FROM detail_view

10/11/2014 10:19

Enregistrement de votre commentaire...

Ajouter un commentaire

commentaire
 
nom / pseudo
 
e-mail
(Votre e-mail ne sera ni exploité, ni divulgué.)
 
site
 
 
 
<Mai 2018 
LunMarMerJeuVenSamDim
 01 02 03 04 05 06
07 08 09 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31