相关疑难解决方法(0)

计算两行之间的时差

我有一个包含以下内容的表:

DataDate                 Value
2010-03-01 08:31:32.000  100
2010-03-01 08:31:40.000  110
2010-03-01 08:31:42.000  95
2010-03-01 08:31:45.000  101
.                        .
.                        .
.                        .
Run Code Online (Sandbox Code Playgroud)

我需要将值列乘以当前行和上一行之间的时间差,并将整数日的总和相乘.

我目前将数据设置为每10秒进行一次,这使得查询中的转换变得简单:

SELECT Sum((Value/6) FROM History WHERE DataDate BETWEEN @startDate and @endDate
Run Code Online (Sandbox Code Playgroud)

@startDate和@endDate今天的日期是00:00:00和11:59:59.

在我设置每10秒收集的数据之前,只要值发生变化,就会收集数据.时间方面没有重复条目,最小时差为1秒.

当我不知道读数之间的时间间隔时,如何设置查询以获取行之间的行时间?

我正在使用SQL Server 2005.

database sql-server difference-between-rows

46
推荐指数
2
解决办法
8万
查看次数