我一直在使用条件分析函数,
MAX(CASE WHEN col1= 999 THEN col2 END) OVER (PARTITION BY ID) new_col
对于下面的场景,这只返回一个值。
id col1 col2
1 999 a
1 999 x
1 999 y
1 80 b
即
new_col
y
如何使用分析函数在输出中返回a,y and x
?
即像这样使用任何其他分析功能
new_col
x
y
b
注意:这是question
的扩展名编辑:
期望的输出:
id col1 new_col
1 80 a
1 80 x
1 80 y
1 80 b
答案 0 :(得分:1)
我认为你想使用listagg()
:
LISTAGG(CASE WHEN col1= 999 THEN col2 END, ',')
WITHIN GROUP (ORDER BY col2) OVER (PARTITION BY ID) new_col