select 值与 SQL 服务器中的最后一条记录之间存在特定差距时如何

How to select values when there is an specific gap between that and the last record in SQL Server

我正在创建一个查询,当它与 SQL 服务器中的最后一条记录之间有 10 的差距时,它会让我 select 值。

假设冰箱里有一个传感器,传感器每 5 分钟上传一次冰箱温度,我正在尝试创建一个查询,让我在上次之后温度下降 2°F 或更多时获取所有记录记录.

这里是 table 的例子:

Value | Timestamp
------+------------------------
  10   2018-04-25 17:11:00.000 
  11   2018-04-25 17:16:00.000
  12   2018-04-25 17:21:00.000
  11   2018-04-25 17:26:00.000
  9    2018-04-25 17:31:00.000 <<<<<<<<<<<< Dropped 2°F
  10   2018-04-25 17:36:00.000 
  12   2018-04-25 17:41:00.000 
  9    2018-04-25 17:46:00.000 <<<<<<<<<<<< Dropped more than 2°F

然后,如果我希望它是 2018-04-25 的 return 值,那么我想要的查询结果将是:

Times_Dropped_2
     2
SELECT value,
       Timestamp,
       value- LAG(value, 1, 0) OVER (ORDER BY TimeStamp) AS value_diff
FROM   table;

这列出了与之前条目的差异,您可以从中获取您的请求详细信息

添加到以前的答案

 select count(*) from (SELECT value,
           Timestamp,
           value- LAG(value, 1, 0) OVER (ORDER BY TimeStamp) AS value_diff
    FROM   table)a
    where value_diff>=2
WHERE value_diff >= Temp_Value + 10

这是缺少的行,谢谢