微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

计算斜率数,SQL中值变化的次数

如何解决计算斜率数,SQL中值变化的次数

我正在尝试编写代码来计算 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  |
 
 .
 .
 .

您知道如何在 sql 中以良好的性能执行此操作吗?

提前致谢

解决方法

我部分解决了一个问题:

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

希望,这是一个好方法..它适用于我的问题

但是状态持续时间仍然有问题...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。