如一个数据表中有一个时间 和一个数值两个字段,如果两条记录的时间相差为一天就将两个记录合并,数值取两个中最大的值。其中每条记录的时间差是天的整数倍。 

解决方案 »

  1.   

    select 时间字段, case when (日期少一天的数值字段+那个数值字段>日期多一天的数值字段+那个数值字段) then 日期少一天的数值字段+那个数值字段 else 日期多一天的数值字段+那个数值字段 end as 数值 from 
    (select 时间字段,(select 那个数值字段 from 表名 where 时间字段=datediff(dd,a.时间字段,-1)) as 日期少一天的数值字段,那个数值字段,(select 那个数值字段 from 表名 where 时间字段=datediff(dd,a.时间字段,1)) as 日期多一天的数值字段 from 表名 a)t
    order by 时间字段