我希望得到2 datetime之间的区别,其中datetime 1现在是()而datetime 2是特定用户的前一个日志.
我正在寻找这样的东西
TIMESTAMPDIFF(NOW(), Previous_Log_of_User)
所以,如果我有2个用户,我有这个teller_log表
名称时间戳操作持续时间
user1 2015-09-09 15:00:40登录00:00:00
user1 2015-09-09 15:00:45增量00:00:05
user1 2015-09-09 15:00:52增量00:00:07
user2 2015-09-09 15:00:52登录00:00:00
user1 2015-09-09 15:00:55` increment 00:00:03
user2 2015-09-09 15:00:58`增量00:00:06
user1 2015-09-09 15:01:00` logout 00:00:02
user2 2015-09-09 15:01:00` logout 00:00:02
正如您在上面的示例中所看到的,我有2个用户,起点是用户登录,如果用户操作是递增,我将计算登录和增量操作之间的时间,然后如果用户操作再次递增我们现在将计算上一个增量和现在增量之间的持续时间,依此类推,直到用户注销,这将标记结束.
我在这里遇到的问题之一是因为表不一致,我不能单独依赖user_id来获取特定用户的先前日志.有些情况下user1的先前id是user2的id.
题:
除了使用时差之外,还有一种简单的方法吗?或者我可以采取的任何其他方法?我在这里度过了充足的时间.
编辑:
我正在使用MySQL和VB.NET.
我的数据库是这样的
我们的重点是teller_log表,它记录了teller_info的任何动作,这个teller_info表通过user_info和teller_info中的teller_id字段获取user_info表中用户的名字.
然后我们可以通过user_info表中的user_id字段创建一个包含来自user_info和teller_info的组合信息的日志.
我想要实现的是
>通过此查询,我可以轻松获得所有日志的持续时间. (用于检查目的)这意味着查询不应该有WHERE,但不确定?
>我想根据时间获取最新日志的持续时间,这意味着如果user1递增,那么它将创建一个日志,并在该日志中我将指定持续时间.