0

我有下表 T1 :

ID | time
10 | 1000
10 | 1002
10 | 1003
11 | 1002
11 | 1004

现在我想从 T1 创建一个表 T2,其中对于每个 ID,显示连续的时间间隔,即

ID | time1 | time 2
10 | 1000 | 1002
10 | 1002 | 1003
10 | 1003 | NULL
11 | 1002 | 1004
11 | 1004 | NULL

所以 time2 条目基本上是 time1 在下一行的条目。
我怎样才能在 MySql 中做到这一点?

4

1 回答 1

2

试试这个:

SELECT
ID,
`time` AS time1,
(SELECT MIN(st.`time`) FROM T1 st WHERE st.ID = T1.ID AND st.`time` > T1.`time`) AS time2
FROM T1
于 2013-03-06T12:35:59.187 回答