【发布时间】:2018-01-15 23:57:52
【问题描述】:
我有一个表,其中包含 N 个设备的事件数据,每个设备可能会或可能不会在给定时间将数据添加到表中。我需要查询表中每个不同设备的最后状态,以及设备的先前状态。
示例表数据:
id | device | event_data | date_time
________________________________________________
1019 | sensor501 | open | 2018-01-05T00:05:15Z
1020 | sensor509 | closed | 2018-01-05T00:05:16Z
1021 | sensor501 | reset | 2018-01-05T00:05:18Z
1022 | sensor501 | closed | 2018-01-05T00:05:19Z
1023 | sensor974 | open | 2018-01-05T00:05:27Z
1024 | sensor729 | closed | 2018-01-05T00:06:07Z
1025 | sensor729 | reset | 2018-01-05T00:06:46Z
示例结果数据:
device | event_data | prev_event_data | date_time
________________________________________________
sensor501 | closed | reset | 2018-01-05T00:05:19Z
sensor509 | closed | null | 2018-01-05T00:05:16Z
sensor974 | open | null | 2018-01-05T00:05:27Z
sensor729 | reset | closed | 2018-01-05T00:06:46Z
您将如何以最有效的方式查询示例表以获取示例结果数据?
【问题讨论】:
-
你使用什么 SQL 引擎?
-
@juergend 它是 MySQL 的一个变种
-
顺便说一句,这是这个标签下最常见的问题