SELECT a,b,c  FROM tb
a b c
123 1 1
123 1 2
123 1 3Declear vv number :=1;
当vv=1时, 怎样实现下面的结果
a b c
123 1 1
2
3

解决方案 »

  1.   

    SELECT * 
    FROM (
    SELECT MIN(a) AS a, b, MIN(c) AS c
    FROM tb
    WHERE b=1
    UNION
    SELECT NULL, NULL, c
    FROM tb
    WHERE b=1
    AND c>(SELECT MIN(c) FROM tb WHERE b=1)
    ) xx
    ORDER BY c
      

  2.   

    select decode(rn,1,a,'') a,decode(rn,1,b,'') b,c 
    from(select row_number()over(partition by a,b order by c) rn,a,b,c from tb)
      

  3.   

    SELECT decode(row_number() over(partition by a,b order by a,b),1,a,'') a,
    decode(row_number() over(partition by a,b order by a,b),1,b,'') b,
    c  
    FROM tb