如何计算一个表中不同行和列之间的timestampdiff?

时间:2017-02-26 11:31:27

标签: mysql sql

我正在尝试计算统计数据的不同行中的 end_datetime start_datetime 之间的时差,以及中的结果集pause_time 即可。

我这样的查询没有执行。

@keyframes

我收到错误:

  

检查与您的MySQL服务器版本相对应的手册,以便在'FROM statistic a INNER JOIN统计数据附近使用正确的语法b ON b.id =(a.id - 1)ORDER BY a.id ASC'在第1行QMYSQL。我的表格统计数据:

update statistic
set pause_time = TIMESTAMPDIFF(hour, a.start_datetime, b.end_datetime)
from statistic a
inner join statistic b on a.id = (b.id - 1)
order by a.id asc

1 个答案:

答案 0 :(得分:3)

您使用的语法是SQL server' s。

请参阅MySQL' s - https://dev.mysql.com/doc/refman/5.7/en/update.html

试试这个:

update statistic a
join   statistic b on a.id = (b.id - 1)
set a.pause_time = TIMESTAMPDIFF(hour, a.start_datetime, b.end_datetime)