我正在努力完成 Mysql 中的一个简单任务。我有一个表“时间轴”,其中包含
ID | Time | Task --------------------- 1 | 12:00:00 | task1 2 | 12:13:00 | task2 3 | 10:16:00 | task0
作为列。条目不按时间排序。现在我想要一个看起来像这样的输出
ID | From | Till | Task -------------------------------- 3 | 10:16:00 | 12:00:00 | task0 1 | 12:00:00 | 12:13:00 | task1 2 | 12:13:00 | | task2
我想,这应该很简单,但我还没弄清楚。期待任何建议。谢谢!
最佳答案
尝试这个查询:
create table tbl(ID int, `Time` time, Task varchar(10));
insert into tbl values
(1, '12:00:00', 'task1'),
(2, '12:13:00', 'task2'),
(3, '10:16:00', 'task0');
select @t := cast(null as time);
select id, task, start, end from (
select id, @t `end`, @t := `time`, `time` `start`, task from tbl
order by `time` desc
) a;
关于MySql,连接两个相邻行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51790257/