2015-04-27 45 views
2

MySQL的更新場我有一個像基於日期時間範圍從同一個表

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

如果這些範圍後,對方說做了一系列20秒什麼它應該是不斷地來嗎?請添加一些結果到你的問題;)。 –

+0

@ shA.t添加結果集。 –

+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; 
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