2016-09-14 21 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; 
相關問題