> Start stop pinnumber
> ---------------------------------------------------------
> 2012-03-14 13:22:17 2012-03-14 15:22:50 2001
> 2012-03-14 18:11:10 2012-03-14 19:10:10 2001
> 2012-03-15 07:20:10 2012-03-15 13:20:50 2001
>**2012-03-16 19:21:55 2012-03-17 02:55:22 2001** //on 16(19:21:55
to 23:59:59) and
//on 17(00 to 02:55:22)
> 2012-03-17 14:15:05 2012-03-17 17:44:50 2001
> 2012-03-18 19:11:10 2012-03-18 19:10:10 2002
> 2012-03-18 10:20:10 2012-03-18 13:20:50 2003
> 2012-03-18 11:20:10 2012-03-18 15:11:50 2001
问题:
如何计算每个用户每天('开始','停止')每天的总时间?请参阅上面突出显示的点。假设,如果用户今天“开始”并明天停止,那么今天的时间不同,明天的时间不同?
现在我正在使用以下查询:-
SELECT SEC_TO_TIME( SUM( TIME_TO_SEC(TIMEDIFF(
stop
,start
) ) ) ) 作为时间 1,时钟。* FROM table_name WHEREpin_number
= '2001' GROUP BY DATE_FORMAT(start
, '%W %M %Y' )
从上面的查询我得到每天的记录,但是当开始日期和停止日期不同时。它计算的总时间不是一天的时间,但我需要每天的时间。