当有相同的持续时间或至少有一个记录的持续时间为0时,我需要标记记录的日期。CODE SH是要匹配的持续时间,或者如果另一个记录的持续时间为0。正在分析的示例记录:
| 日期|代码|持续时间|
| - -----|- -----|- -----|
| 23年4月2日|AB| 510|
| 23年4月2日|SH| 510|
| 23年4月2日|B2|十五|
也有0
| 日期|代码|持续时间|
| - -----|- -----|- -----|
| 23年4月2日|AB| 0|
| 23年4月2日|SH| 510|
| 23年4月2日|B2|十五|
期待这个:
| 日期|代码|持续时间|FLAG|
| - -----|- -----|- -----|- -----|
| 23年4月2日|AB| 510| Y轴|
| 23年4月2日|SH| 510| Y轴|
| 23年4月2日|B2|十五|Y轴|
或
| 日期|代码|持续时间|FLAG|
| - -----|- -----|- -----|- -----|
| 23年4月2日|AB| 0| Y轴|
| 23年4月2日|SH| 510| Y轴|
| 23年4月2日|B2|十五|Y轴|
我打算做一个分析函数,用代码和日期作为分区来计算记录。count(1) over (partition by date,code,duration)
但后来我意识到我怎么处理0呢谢谢你的帮助
2条答案
按热度按时间hmae6n7t1#
可以使用count和min窗口函数,如下所示:
demo
fcipmucu2#
我有点累了,所以可能有一个更简单的方法,我现在看不到,但你可以交叉SH和非SH的日期/持续时间,然后添加持续时间为零的日期。
或