我有一张这样的table:
| 项目|日期|折扣|收入|
| --|--|--|--|
| 椅子|2023年11月1日|null| 10 |
| 椅子|2023年11月2日|null| 10 |
| 椅子|2023年11月3日|null| 10 |
| 椅子|2023年11月4日|null| 10 |
| 椅子|2023年11月5日|null| 10 |
| 椅子|2023年11月6日|零点三十| 10 |
| 椅子|2023年11月7日|零点三十| 10 |
| 椅子|2023年11月8日|零点三十| 10 |
| 椅子|2023年9月11日|null| 10 |
我可以应用一个间隙和岛屿的技巧,以获得我想要的表的大部分:
| 项目|开始日期|结束日期(_D)|天数|折扣|收入|
| --|--|--|--|--|--|
| 椅子|2023年11月1日|2023年11月5日| 5 |null| 50 |
| 椅子|2023年11月6日|2023年11月8日| 3 |零点三十| 30 |
| 椅子|2023年9月11日|2023年9月11日| 1 |null| 10 |
然而,我真正想要的是just第一个null集合等于numofdays作为下面的非null集合:
| 项目|开始日期|结束日期(_D)|天数|折扣|收入|
| --|--|--|--|--|--|
| 椅子|2023年11月3日|2023年11月5日| 3 |null| 30 |
| 椅子|2023年11月6日|2023年11月8日| 3 |零点三十| 30 |
| 椅子|2023年9月11日|2023年9月11日| 1 |null| 30 |
我想到的唯一使用的函数是LAG
LEAD
和CASE
语句的组合。
有谁能帮忙吗?非常感谢。
1条答案
按热度按时间o75abkj41#
您可以在现有的Gaps和Island查询中使用
WINDOW
函数,如下所示:字符串