【发布时间】:2021-08-16 22:23:57
【问题描述】:
我试图确定一个对象在同一位置的时间,以及它在该时间段内第一次出现在该位置的时间。如果它离开该位置并返回,我需要另一行进行新的时间计算。
数据:
| ObjectID | DateTime | Lat | Lon |
|---|---|---|---|
| 23 | 5/2/2021 12:00 | 38.09 | 20.99 |
| 23 | 5/2/2021 16:00 | 40.11 | 30.34 |
| 23 | 5/2/2021 23:00 | 40.11 | 30.34 |
| 23 | 5/3/2021 12:00 | 40.11 | 30.34 |
| 23 | 5/3/2021 16:00 | 40.11 | 30.34 |
| 23 | 5/3/2021 23:00 | 39.88 | 29.00 |
| 23 | 5/4/2021 12:00 | 39.88 | 29.00 |
| 23 | 5/4/2021 16:00 | 20.77 | 11.66 |
| 23 | 5/4/2021 23:00 | 40.11 | 30.34 |
| 23 | 5/5/2021 12:00 | 40.11 | 30.34 |
| 23 | 5/5/2021 16:00 | 20.77 | 11.66 |
期望的结果:
| ObjectID | StartTime | Lat | Lon | HoursInLocation |
|---|---|---|---|---|
| 23 | 5/2/2021 16:00 | 40.11 | 30.34 | 24:00 |
| 23 | 5/3/2021 23:00 | 39.88 | 29.00 | 13:00 |
| 23 | 5/4/2021 23:00 | 40.11 | 30.34 | 13:00 |
我的真实数据没有一致的 DateTime 频率,我在这里使用它是为了更容易阅读。真实数据也有多个 ObjectID。条目之间对象的位置被认为是未知的。
谢谢!
【问题讨论】:
标签: sql location snowflake-cloud-data-platform latitude-longitude