【发布时间】:2021-07-02 07:05:11
【问题描述】:
鉴于以下数据集示例,我应该如何构造我的 SQL 查询以确定 value 是否在查询中的时间范围内逐渐逐日增长通过返回 true/false 结果来指定 user_id
| user_id | date | value |
|---|---|---|
| 1 | 4/1/2021 12:00 | 350 |
| 1 | 4/2/2021 12:00 | 400 |
| 1 | 4/3/2021 12:00 | 450 |
| 5 | 4/4/2021 12:00 | 560 |
| 5 | 4/5/2021 12:00 | 566 |
| 5 | 4/6/2021 12:00 | 483 |
| 5 | 4/7/2021 12:00 | 570 |
根据上面的例子,我们可以观察到user_id=1的value逐日增长,而user_id=5的value连续2天增长,但在第三天反弹。
因此,user_id=1 和 user_id=5 的预期结果集将是:
| user_id | value_is_increasing |
|---|---|
| 1 | true |
user_id=5 的预期结果集将是:
| user_id | value_is_increasing |
|---|---|
| 5 | false |
声明更新:我想确定该值是否在特定时间范围内以逐日方式(连续)不断增长。此外,应将单个值点视为噪声(即使随着时间的推移呈上升或下降趋势,它们也会上下反弹)并影响结果。
【问题讨论】:
-
这种事情很难正确指定。您能否edit您的问题更具体地说明您的连续增长标准?您想比较昨天的平均值和今天的平均值吗?您的个人
value点是否嘈杂:即使随着时间的推移呈上升或下降趋势,它们是否会上下反弹? -
@O.Jones 我根据您的要求添加了声明更新
-
它(连续)增长了多少?
-
@Strawberry 任意正百分比
-
???那么它的“连续性”是什么?
标签: mysql sql analytics mysql-5.7 trend