【发布时间】:2021-12-10 20:41:11
【问题描述】:
我在 Snowflake 中有一个这样的表,其中有一个“类”列,其中所有级别为 1 的行都有一个值。我想要一个新列“WANTED_OUTPUT”,其中填充类中的值,直到出现新值,然后填充该值。
我一直在研究 first_value 和 last_value 函数,但我错过了一些东西,可以将所有行从级别 1 到下一个级别 1 “分组”在一起,然后我才能使用 first_value 和分区。
有什么建议吗?
+----+-------+-------+-------+---------------+
| id | col_c | level | class | WANTED_OUTPUT |
+----+-------+-------+-------+---------------+
| a | q1 | 1 | c99 | c99 |
+----+-------+-------+-------+---------------+
| a | w2 | 2 | NULL | c99 |
+----+-------+-------+-------+---------------+
| a | g6 | 2 | NULL | c99 |
+----+-------+-------+-------+---------------+
| a | j5 | 3 | NULL | c99 |
+----+-------+-------+-------+---------------+
| a | x8 | 1 | c3 | c3 |
+----+-------+-------+-------+---------------+
| a | x9 | 2 | NULL | c3 |
+----+-------+-------+-------+---------------+
| a | h5 | 1 | c67 | c67 |
+----+-------+-------+-------+---------------+
【问题讨论】:
标签: snowflake-cloud-data-platform