Netezza SQL 棘手范围查找:含重复数据时空第二列继承上方最近非空H行值
Netezza SQL 空值补全业务需求
业务规则:数据需按原有行的顺序处理,针对c2列的空值做补全,补全取值规则为该行上方最近的、c1字段值为'H'的行的c2值;如果该最近的H行本身的c2为空,则当前行的c2保持空值不变。
第一组示例
输入数据
H,CP,1 A,,2 H,SP,3 E,,4 H,,5 C,,6
预期输出
H,CP,1 A,CP,2 H,SP,3 E,SP,4 H,,5 C,,6
规则验证:
- 第2行(A开头)上方最近的H行为第1行,c2值为CP,因此补全为CP
- 第4行(E开头)上方最近的H行为第3行,c2值为SP,因此补全为SP
- 第6行(C开头)上方最近的H行为第5行,c2为空,因此保持空值
第二组示例
输入数据
c1,c2,c3 H,P,1 H,Q,2 E,,3 A,,4 H,R,5 A,,6 C,,7 H,,8 E,,9 H,S,10
预期输出
H,P,1 H,Q,2 E,Q,3 A,Q,4 H,R,5 A,R,6 C,R,7 H,,8 E,,9 H,S,10
规则验证:
- 第3、4行上方最近的H行为第2行,c2值为Q,因此补全为Q
- 第6、7行上方最近的H行为第5行,c2值为R,因此补全为R
- 第9行上方最近的H行为第8行,c2为空,因此保持空值
内容的提问来源于stack exchange,提问作者venkatesh
相关产品推荐
相关产品推荐

