基于同一表中的日期时间范围的MySQL更新字段

基于同一表中的日期时间范围的MySQL更新字段,mysql,sql,range,Mysql,Sql,Range,我有一张像这样的桌子 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: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秒内,例如:第二行和第三行,我想更新相关列以标记它。要么使用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;

如果这些范围连续出现,且范围为20秒,那么应该是什么?请在您的问题中添加一些结果@shA.t添加了结果集。@Huey很抱歉,结果集不起作用。为什么在输出的相关列中只有…:01:52,而且结果集本身也有?@shA.t这意味着这两行之间只有10秒的差异。没有别的了。现在我可以选择/分组数据集,它的范围为10秒。因此,在每一行上,我检查后面是否有在10秒范围内的行。如果是,我用第一行的datetime更新相关列。