2016-09-14 81 views
0

我下面的表格有不同的X秒:https://i.gyazo.com/0ff46d51d29aed52d92434df9e91e178.png如何检查日期时间是相同的ID

我得到了下面的查询不工作:

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秒差异?

回答

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; 
相关问题