MySQL从第一个和第n个记录中获取时差

时间:2013-02-11 14:37:06

标签: mysql

我在日志中插入了一系列记录。每个系列都由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。

1 个答案:

答案 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年停止,然后取得差异。