mysql,连接两个相邻的行

drkbr07n  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(385)

我正在mysql中努力完成一项简单的任务。我有一张时间表

  1. ID | Time | Task
  2. ---------------------
  3. 1 | 12:00:00 | task1
  4. 2 | 12:13:00 | task2
  5. 3 | 10:16:00 | task0

作为列。条目不按时间排序。现在我想要一个

  1. ID | From | Till | Task
  2. --------------------------------
  3. 3 | 10:16:00 | 12:00:00 | task0
  4. 1 | 12:00:00 | 12:13:00 | task1
  5. 2 | 12:13:00 | | task2

我想,这应该很简单,但我还没弄明白。期待任何建议。谢谢您!

oewdyzsn

oewdyzsn1#

尝试此查询:

  1. create table tbl(ID int, `Time` time, Task varchar(10));
  2. insert into tbl values
  3. (1, '12:00:00', 'task1'),
  4. (2, '12:13:00', 'task2'),
  5. (3, '10:16:00', 'task0');
  6. select @t := cast(null as time);
  7. select id, task, start, end from (
  8. select id, @t `end`, @t := `time`, `time` `start`, task from tbl
  9. order by `time` desc
  10. ) a;

相关问题