MySQL 根据来自相同 table 的日期时间范围更新字段

MySQL updating field based on datetime range from the same table

我有一个 table 喜欢

datetime             game   sum         Releated
01/03/2015 00:00:25  Game1  1342.75 
01/03/2015 00:01:52  Game2  1418.5  
01/03/2015 00:01:53  Game3  1289    
01/03/2015 00:04:41  Game4  1473.25 
01/03/2015 00:06:09  Game5  1581.25 

变成这样。

 datetime            game   sum         Releated
01/03/2015 00:00:25  Game1  1342.75 
01/03/2015 00:01:52  Game2  1418.5      01/03/2015 00:01:52
01/03/2015 00:01:53  Game3  1289        01/03/2015 00:01:52
01/03/2015 00:04:41  Game4  1473.25 
01/03/2015 00:06:09  Game5  1581.25 

如果两行或更多行的时间差在10秒以内(例如:第2行和第3行)我想更新相关的列来标记它。使用 datetime 或某个值。这意味着它们是同一行集。

基于相同的理论,如果它们在 10 秒范围内,我想对总和列求和。

SELECT * FROM harronLati a inner join harronLati b
WHERE
ABS(TIMESTAMPDIFF(SECOND,a.datetime,b.datetime)) <= 10 
group by a.datetime,a.game,a.sum,a.Releated

试试这个:

SELECT *,
  (SELECT min(t2.d) 
   FROM yourTable t2
   WHERE ABS(TIMESTAMPDIFF(SECOND,t2.d, t1.d)) <= 10
         AND t2.d <> t1.d
  ) As related
FROM yourTable t1;