计算斜率的数量,SQL中值变化的数量
Posted
技术标签:
【中文标题】计算斜率的数量,SQL中值变化的数量【英文标题】:Calculate number of slopes, number of value changes in SQL 【发布时间】:2021-04-22 09:10:44 【问题描述】:我正在尝试编写代码来计算 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 中以良好的执行方式做到这一点吗?
提前致谢
【问题讨论】:
***.com/search?q=%5Bclickhouse%5DarraySplit 【参考方案1】:我部分解决了一个问题:
Number of values changes:
Select Module, Variable, Count(Diff)
FROM (
SELECT Module, Variable, runningDifference(Value) as Diff
FROM 'XX'
WHERE Diff = -1 or Diff = 1
)
GROUP BY Module, Variable
希望,这是一个好方法..它适用于我的问题
但状态持续时间仍有问题...
【讨论】:
以上是关于计算斜率的数量,SQL中值变化的数量的主要内容,如果未能解决你的问题,请参考以下文章