条件分析函数oralce

时间:2017-03-09 11:23:07

标签: sql oracle

我一直在使用条件分析函数,

 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 

1 个答案:

答案 0 :(得分:1)

我认为你想使用listagg()

LISTAGG(CASE WHEN col1= 999 THEN col2 END, ',')
    WITHIN GROUP (ORDER BY col2) OVER (PARTITION BY ID) new_col