【发布时间】:2017-12-11 19:50:03
【问题描述】:
我遇到了一个有趣的问题,我试图将能源使用日志与生产环境中的特定事件联系起来。我们的生产数据已经记录了大约 6 个月,记录的数据每 30 秒或在更改时插入一条记录。在这些日志中,“工厂模式”也使用以下结构记录:
t_stamp tag value
----------------------------------
11/12/17 21:00:00 mode 10
11/12/17 21:00:30 mode 10
11/12/17 21:01:00 mode 80
11/12/17 21:01:30 mode 80
11/12/17 21:02:00 mode 80
11/12/17 21:02:30 mode 80
…. mode 80
12/12/17 03:03:30 mode 80
12/12/17 03:04:00 mode 80
12/12/17 03:04:30 mode 80
12/12/17 03:05:00 mode 10
12/12/17 03:05:30 mode 10
12/12/17 03:06:00 mode 10
12/12/17 03:06:30 mode 10
我希望查询返回如下结果:
row mode start_t_stamp end_time_stamp
------------------------------------------------------
1 10 11/12/17 21:00:00 11/12/17 21:00:30
2 80 11/12/17 21:01:00 12/12/17 03:04:30
3 10 12/12/17 03:05:00 12/12/17 03:06:30
一旦我有了开始和结束时间戳,我就可以提取工厂每种模式的能源使用数据,例如空闲、预热、就绪待机、生产等,并形成每种模式的平均使用量,但是我被困在每一步,我查看了分区,阅读了有关岛屿和间隙的文章,但我找不到以这种方式记录数据的示例。任何建议都会很棒
【问题讨论】:
标签: sql sql-server time grouping gaps-and-islands