问题描述
我正在尝试编写代码来计算 sql 中每个状态的斜率数、值更改数和持续时间
我有如下表格:
| Module | MeasTime | MeasDate | Variable| Value|
| --- | --- | --- | --- | --- |
|binaryTask|2020-01-02 00:00:00|2020-01-02 |binaryVal| 1 |
|binaryTask|2020-01-02 00:10:00|2020-01-02 |binaryVal| 1 |
|binaryTask|2020-01-02 00:20:00|2020-01-02 |binaryVal| 1 |
|binaryTask|2020-01-02 00:30:00|2020-01-02 |binaryVal| 1 |
|binaryTask|2020-01-02 00:40:00|2020-01-02 |binaryVal| 1 |
|binaryTask|2020-01-02 00:50:00|2020-01-02 |binaryVal| 1 |
|binaryTask|2020-01-02 01:00:00|2020-01-02 |binaryVal| 0 |
|binaryTask|2020-01-02 01:10:00|2020-01-02 |binaryVal| 0 |
|binaryTask|2020-01-02 01:20:00|2020-01-02 |binaryVal| 0 |
|binaryTask|2020-01-02 01:30:00|2020-01-02 |binaryVal| 0 |
|binaryTask|2020-01-02 01:40:00|2020-01-02 |binaryVal| 1 |
|binaryTask|2020-01-02 01:50:00|2020-01-02 |binaryVal| 1 |
|binaryTask|2020-01-02 02:00:00|2020-01-02 |binaryVal| 1 |
|binaryTask|2020-01-02 02:10:00|2020-01-02 |binaryVal| 1 |
|binaryTask|2020-01-02 02:20:00|2020-01-02 |binaryVal| 1 |
|binaryTask|2020-01-02 02:30:00|2020-01-02 |binaryVal| 1 |
|binaryTask|2020-01-02 02:40:00|2020-01-02 |binaryVal| 0 |
.
.
.
提前致谢
解决方法
我部分解决了一个问题:
Number of values changes:
Select Module,Variable,Count(Diff)
FROM (
SELECT Module,runningDifference(Value) as Diff
FROM 'XX'
WHERE Diff = -1 or Diff = 1
)
GROUP BY Module,Variable
希望,这是一个好方法..它适用于我的问题
但是状态持续时间仍然有问题...