日期:2014-05-19  浏览次数:20716 次

关于一个查询的问题,返回结果


  ID             RYXM               shijian

  2               张三                 2007-5-1
  3               王三                 2007-5-2
  4               张三                 2007-5-8
  5               王三                 2007-4-2
  6               王三                 2007-3-5
  7               赵四                 2007-2-5


                张三这个名字第一个出现和第二次出现的时间跨度

    如果只出现一次,我想知道他出现时间到今天有多长勒,


                          谁能帮帮我额,急哈




------解决方案--------------------
--try

create table T( ID int, RYXM nvarchar(10), shijian datetime)
insert t select 2, '张三 ', '2007-5-1 '
union all select 3, '王三 ', '2007-5-2 '
union all select 4, '张三 ', '2007-5-8 '
union all select 5, '王三 ', '2007-4-2 '
union all select 6, '王三 ', '2007-3-5 '
union all select 7, '赵四 ', '2007-2-5 '


select RYXM,datediff(day,min_shijian,case when min_shijian=max_shijian then getdate() else max_shijian end)
from
(
select RYXM, min(shijian) as min_shijian,
max(shijian) as max_shijian
from T
group by RYXM
)tmp