我有一张有通话记录的桌子。每个调用都有一个“state”CALLSTART和CALLEND,每个调用都有一个独特的“callid”。另外,对于每个记录,都有一个唯一的自动增量'id‘。每一行都有一个MySQL时间戳字段。
我想知道今天电话的总通话时间。这意味着用CALLEND状态从具有相同CALLSTART状态的行减去每一行的时间戳,并接受所有这些的和。
我如何在MySQL中做到这一点?还是我需要在php中使用while循环?
发布于 2014-03-22 19:02:30
SELECT SUM(TIME_TO_SEC(differences)) FROM
(SELECT SEC_TO_TIME(TIMESTAMPDIFF(SECOND,MIN(timestamp),MAX(timestamp)))as differences
FROM table
GROUP BY callid)x假设MAX(时间戳)是调用的结束,MIN(时间戳)是每个组调用的开始。
https://stackoverflow.com/questions/22581908
复制相似问题