牛翔没人爱 2020-09-25 16:06 采纳率: 66.7%
浏览 78
已采纳

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条回答 默认 最新

  • threenewbee 2020-09-26 01:03
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部