解决方案 »

  1.   


    with TB as
     (select 1 id, '张三' name, 13 age, '男' sex
        from dual
      union
      select 2 id, '李四' name, 13 age, '男' sex
        from dual
      union
      select 3 id, '王武' name, 13 age, '女' sex from dual)
    select a.id,
           a.name,
           decode(age, lag(age, 1, 0) over(order by id), '', age),
           decode(sex, lag(sex, 1, 0) over(order by id), '', sex)
      from TB a
      

  2.   

    SELECT T1.NM,
           DECODE(T1.AGE, T2.AGE, '-', T1.AGE),
           DECODE(T1.SEX, T2.SEX, '-', T1.SEX)
      FROM (SELECT T.*, ROWNUM R_NUM FROM TEST1 T) T1,
           (SELECT T.*, ROWNUM R_NUM FROM TEST1 T) T2
     WHERE T1.R_NUM - 1 = T2.R_NUM(+);