如何检查相同id的datetime是否为x秒不同

时间:2016-09-14 17:26:46

标签: mysql sql

我得到了下表:https://i.gyazo.com/0ff46d51d29aed52d92434df9e91e178.png

我得到了以下不起作用的查询:

select * from viewed u1 inner join viewed u2 on (u2.user_id = u1.user_id) where TIMESTAMPDIFF(SECOND, u1.date_reg, u2.date_reg) < 5;

我试图找出哪个用户获得了date_reg时间小于x秒的条目。如果我们查看图像,应该选择两个用户,因为他们得到了date_reg相差0-1秒的行。

问题是查询没有按预期工作,因为它几乎选择了表中的所有行。有人知道我怎么知道哪个用户在表格中有不同的x秒差异?

1 个答案:

答案 0 :(得分:2)

您需要另一个条件,因此timestampdiff()始终是正面的。我建议:

select *
from viewed u1 inner join
     viewed u2
     on u2.user_id = u1.user_id
where u1.date_reg < u2.date_reg and
      TIMESTAMPDIFF(SECOND, u1.date_reg, u2.date_reg) < 5;