【发布时间】:2022-01-31 11:56:52
【问题描述】:
假设,我有一个看起来像 t1 的表
| id | value1 | value2 | wk_id |
|---|---|---|---|
| 1 | 2 | 0 | 1 |
| 1 | 1 | 1 | 2 |
| 1 | 3 | 0 | 3 |
| 2 | 2 | 1 | 2 |
| 2 | 2 | 0 | 3 |
| 3 | 1 | 0 | 2 |
| 3 | 2 | 0 | 4 |
| 3 | 3 | 0 | 5 |
我想总结 value1 直到 value2 第一次出现非零值。 最终产品必须如下所示:
| id | value1 |
|---|---|
| 1 | 2 |
| 2 | 0 |
| 3 | 6 |
如何在 SQL 中执行此操作?
【问题讨论】:
-
问题是表数据是一个无序的数据集。您有确定顺序的列吗?日期时间列可能吗?那么,为什么要标记两个不同的 DBMS?您使用的是 MySQL 还是 PostgreSQL?
-
@ThorstenKettner 是的,数据集有一个日期时间列。更新数据集