Mysql 表中各行之间的差异之和

Mysql 表中各行之间的差异之和,mysql,sum,Mysql,Sum,我有一张有通话记录的桌子。每个调用都有一个“state”CALLSTART和CALLEND,每个调用都有一个唯一的“callid”。此外,每个记录都有一个唯一的自动增量“id”。每行都有一个MySQL时间戳字段 我想知道当天电话的总通话时间。这意味着从具有相同callid和CALLSTART状态的行中减去具有CALLEND状态的每一行的时间戳,并取所有这些的总和 如何在MySQL中实现这一点?还是我需要php中的while循环 表格截图: 假设MAX(timestamp)是调用的结束 MIN(t

我有一张有通话记录的桌子。每个调用都有一个“state”CALLSTART和CALLEND,每个调用都有一个唯一的“callid”。此外,每个记录都有一个唯一的自动增量“id”。每行都有一个MySQL时间戳字段

我想知道当天电话的总通话时间。这意味着从具有相同callid和CALLSTART状态的行中减去具有CALLEND状态的每一行的时间戳,并取所有这些的总和

如何在MySQL中实现这一点?还是我需要php中的while循环

表格截图:

假设MAX(timestamp)是调用的结束
MIN(timestamp)是每个组调用的开始。

@StevenH是的,timestampdiff从第二个参数中减去第一个参数,my bad。@StevenH在tableName之后添加,其中state IN('CONNECTED')。如果不起作用,请将state也放在SELECT中。@StevenH
将state IN('CONNECTED')包含在
在末尾。@StevenH在子查询的末尾,在分组之后。@StevenH我
今晚有点迟钝,对不起。问一个新问题,我看不出我做错了什么。
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