我有一张像
这样的表格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秒范围之间,我想要求总和列。
答案 0 :(得分:1)
试试这个:
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;
答案 1 :(得分:0)
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