qq_35043039
牛翔没人爱
采纳率0%
2020-09-26 00:06 阅读 66

sql查询数据中的某段连续时间的变温数据,高手请进

最近开发一个程序,需要用sql语句提取数据库中连续记录的一段变温数据。
模拟一个表t0,结构如下:

id  site    temp    time
1   1   27  2020/5/1 08:01
2   1   26  2020/5/1 08:02
3   1   27  2020/5/1 11:40
4   2   60  2020/5/1 11:40
5   1   26  2020/5/1 11:41
6   2   59  2020/5/1 11:41
7   1   35  2020/5/1 11:42
8   2   50  2020/5/1 11:42
9   1   41  2020/5/1 11:43
10  2   44  2020/5/1 11:43
11  1   49  2020/5/1 11:44
12  2   38  2020/5/1 11:44
13  1   54  2020/5/1 11:45
14  2   32  2020/5/1 11:45
15  1   55  2020/5/1 11:46
16  2   26  2020/5/1 11:46
17  1   55  2020/5/1 11:47
18  2   17  2020/5/1 11:47
19  1   55  2020/5/1 11:48
20  2   18  2020/5/1 11:48
21  1   55  2020/5/1 11:49
22  2   9   2020/5/1 11:49
23  1   47  2020/5/1 11:50
24  2   -2  2020/5/1 11:50
25  1   30  2020/5/1 11:51
26  2   -8  2020/5/1 11:51
27  1   25  2020/5/1 11:52
28  2   -10 2020/5/1 11:52
29  2   -10 2020/5/1 11:53
30  2   -10 2020/5/1 11:54

数据具有的特点为:
1、数据在常温状态可能会因关机导致不连续。
2、多台设备的采集数据杂糅
3、数据采集的间隔时间为1分钟+N毫秒
4、数据过程为恒温-->升温-->高温保持-->降温-->低温保持-->升温,循环工作

现欲获取变温过程中的结果,生成一个表如下:

Newid   site    starttemp   starttime   stoptemp    stoptime
1   1   26  2020/5/1 11:41  55  2020/5/1 11:46
2   2   60  2020/5/1 11:40  -10 2020/5/1 11:52

其中,startTemp和stopTemp为已知,主要希望获取变温开始的时间和变温结束的时间。
一点思路:
1、筛选范围在startTemp和stopTemp之间的**时间连续**的所有数据。
2、排除过程恒温的数据,即满足data1>data2,判断为存在升温过程
然后具体应该怎么实现,请教各位大佬。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

相关推荐