ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 大家帮帮忙,看看这个SQL怎么写!

大家帮帮忙,看看这个SQL怎么写!

原创 Linux操作系统 作者:rainlover 时间:2010-10-16 22:55:29 0 删除 编辑
大家帮帮忙,看看这个SQL怎么写!

高手们,问个可能你们大家都会觉得2的问题

我有一数据表,内容数据如下
Name       Date              Data
-------------------------------------
  A         2008-04-01     100
  A         2008-04-01     822
  A         2008-04-01     222
  A         2008-04-01     333
  A         2008-04-01     334
  B         2008-04-01     500
  B         2008-04-01     5400
  B         2008-04-01     223

想得到如下结果,如何写这个SQL

Name       Date              Data
-------------------------------------
  A         2008-04-01     100
                                     822
                                     222
                                     333
                                     334
  B         2008-04-01     500
                                    5400
                                     223

请各位高手不要嫌烦,比较急,在线等~~~谢谢!
=====================
select  
case when name=lag(name)over(partition by name,date order by data) then null else name end name,
case when date=lag(date)over(partition by name,date order by data) then null else date end date,
data
from tab
===================
select
decode(row_number()over(partition by name,tDate order by rownum),1,Name) as Name,
decode(row_number()over(partition by name,tDate order by rownum),1,tDate) as tDate,
Data
from tmp

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11320622/viewspace-676079/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-06-08

  • 博文量
    35
  • 访问量
    61884