2010-02-07 9 views
30

SELECT moy (durée) comme moyenne FROM login;Mysql Moyenne des chronologies sur la colonne?

Le type de données pour la durée est « temps », donc ma valeur est comme: 00:00:14, 00:20:23 etc

J'exécute la requête il me donne: 2725,78947368421

Qu'est-ce cette? Je veux dans le format de temps, peut mysql faire la moyenne à l'heure ??

Répondre

65

Essayez ceci:

SELECT SEC_TO_TIME(AVG(TIME_TO_SEC(`login`))) FROM Table1; 

données de test:

CREATE TABLE `login` (duration TIME NOT NULL); 
INSERT INTO `login` (duration) VALUES 
('00:00:20'), 
('00:01:10'), 
('00:20:15'), 
('00:06:50'); 

Résultat:

00:07:09 
+0

vous pouvez en outre diviser les résultats de TIME_TO_SEC par 60 pour obtenir un résultat numérique. –

+2

Parfois, des choses simples peuvent apporter de la joie dans sa vie. @ Mark Byers. Merci pour cela!!! Fonctionne absolument bien. :) – MontyPython

+1

pourquoi le mien a un résultat = 00: 02: 54.6363, qu'est-ce que 6363? comment l'exclure? – Hafidh