【发布时间】:2020-01-27 11:07:57
【问题描述】:
我是 MySQL 新手。我有一个数据库,但在获取以下格式的数据时遇到了问题。
表格如下
+----+------+-------+-+
| ID | ign | time | |
+----+------+-------+-+
| 1 | NULL | 12:30 | |
| 2 | 1 | 12:31 | |
| 3 | NULL | 12:32 | |
| 4 | NULL | 12:33 | |
| 5 | NULL | 12:34 | |
| 6 | 0 | 12:35 | |
| 7 | NULL | 12:36 | |
| 8 | NULL | 12:37 | |
| 9 | 1 | 12:38 | |
| 10 | NULL | 12:39 | |
| 11 | NULL | 12:40 | |
| 12 | NULL | 12:41 | |
| 13 | 0 | 12:42 | |
| 14 | NULL | 12:43 | |
| 15 | NULL | 12:44 | |
+----+------+-------+-+
我的结果表应采用以下格式。
Start | Start Time | Stop |Stop Time
1 | 12:31 | 0 | 12:35
1 | 12:38 | 0 | 12:42
结果是由交替的 1 和 0 放在一起获得的。第一个值为 1 的 ign 是起点,第二个值为 0 的 ign 是终点。 1 和 0 各自的时间值是开始和停止时间。我对 MySQL 完全陌生,不知道如何实现。
【问题讨论】:
-
为什么id到处都是重复的?
-
而且您似乎没有 PRIMARY KEY,这可能会在不久后造成严重问题
-
重复的 ID 是拼写错误。结果是通过交替的 1 和 0 放在一起获得的。第一个值为 1 的 ign 是起点,第二个值为 0 的 ign 是终点。 1和0各自的时间值就是起止时间。
标签: mysql sql database window-functions gaps-and-islands