我在日志中插入了一系列记录。每个系列都由id标识。所以
SELECT * FROM log WHERE action_id = x ORDER by created;
但是我希望插入第一条记录,最后一条记录。这些记录具有创建的时间戳。所以我想找到第一个和最后一个记录之间的差异,以秒为单位。
更新
我试过
SELECT max(created) - min(created) FROM log WHERE action_id = 21 ORDER BY created;
它返回0.000000
这两者的时差显然是几分钟。
max(created) min(created)
"2013-02-11 14:30:34" "2013-02-11 14:27:31"
它存储为DATETIME。引擎是InnoDB。
答案 0 :(得分:1)
我猜我会将created
存储为字符串。
试试这个:
select max(cast(created as datetime)) - min(cast(created as datetime))
如果你尝试这样的话:
select '2012-01-01 10:44' - '2012-01-01 10:41'
您将获得值0.MySQL将字符串转换为数字,在2012年停止,然后取得差异。