oracle查询问题

a576412747 2013-11-20 01:05:00
数据类型如下:
id name age sex
1 张三 13 男
2 李四 13 男
3 王武 13 女

查的结果如下:
id name age sex
1 张三 13 男
2 李四 ‘’ ‘’
3 王武 ‘’ 女
查出的条数不变,但是相同字段用空格来代替
...全文
106 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
龙的传人1988 2013-11-22
  • 打赏
  • 举报
回复
2楼正确,经典收藏着
CT_LXL 2013-11-20
  • 打赏
  • 举报
回复
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(+);
  • 打赏
  • 举报
回复

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

17,134

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧