mysql 中时间怎么进行统计?

表数据如下

日期        通话时间    通话类型  通话号码
2008-09-08  00:30:05 主叫     13212121234
2008-09-07  00:20:35 主叫     13212121234

×××
球总通话时长?
可能你会认为这个很简单

select  sum(通话时间) from table

但是你会得到你所意外的结果

sum(通话时间)
5040    ~大概可能是这个结果

What?怎么会是这样的呢
对于mySql来说其实际算法是将datetime类型字段值按4位年、2位月、2位日、2位时、2位分、2位秒顺序组成一个数字后再进行累加
那么正确的写法呢?

SELECT  
  SEC_TO_TIME( SUM( TIME_TO_SEC( `通话时间` ) ) ) AS 总时长
FROM table;

发表评论