2011-10-02 5 views
2

Si j'ai deux lignesMysql totale temps écoulé depuis deux dates

id created   start   stop 
1 28-01-2011 23:00 28-01-2011 23:00 28-01-2011 23:01 
2 28-01-2011 23:10 28-01-2011 23:10 28-01-2011 23:11 

Que puis-je exécuter la requête pour obtenir le temps total écoulé pour une seule date, donc pour 28-01-2011 le temps total était de 2 minutes .

Est-ce possible?

+0

-ce que ces colonnes sont de type 'DateTime' ou sont-ils des chaînes dans ce format: 'dd-mm-aaaa hh: mm'? –

+0

type de colonne: horodatage. @ Markarkers – benhowdle89

Répondre

1

bien une option est simple:

select sum(unix_timestamp(stop) - 
    unix_timestamp(start))/60 from table 
    where date(created) = '28-01-2011'; 

mysql> select now(), date_add(now(), interval 10 minute); 
+---------------------+-------------------------------------+ 
| now()    | date_add(now(), interval 10 minute) | 
+---------------------+-------------------------------------+ 
| 2011-10-04 13:29:56 | 2011-10-04 13:39:56     | 
+---------------------+-------------------------------------+ 
1 row in set (0.01 sec) 

mysql> select sum(unix_timestamp(now()) - 
      unix_timestamp(date_add(now(), interval 10 minute))); 
+----------------------------------------------------------------------------------+ 
| sum(unix_timestamp(now()) - unix_timestamp(date_add(now(), interval 10 minute))) | 
+----------------------------------------------------------------------------------+ 
|                    -600 | 
+----------------------------------------------------------------------------------+ 
1 row in set (0.00 sec) 


mysql> select sum(unix_timestamp(now()) - 
      unix_timestamp(date_add(now(), interval 10 minute)))/60 ; 
+---------------------------------------------------------------------------------------+ 
| sum(unix_timestamp(now()) - unix_timestamp(date_add(now(), interval 10 minute)))/60 | 
+---------------------------------------------------------------------------------------+ 
|                    -10.0000 | 
+---------------------------------------------------------------------------------------+ 
1 row in set (0.00 sec) 
+0

quelqu'un downvoted, élaboré afin que je sais ce qui ne va pas. – jancha

+0

Avez-vous testé cela, si ça fonctionne? –

+0

Je n'ai pas. J'ai ajouté un indice qui aidera. Juste fait quelques tests et voir les résultats ci-dessus. – jancha

Questions connexes