本帖最后由 huilei_001 于 2011-10-30 21:36:13 编辑

解决方案 »

  1.   

    select 日期,拒收冷却值,b.前3日冷却平均值,拒收量
    from 表a ,
    ( select avg(冷却值) 
       from 表a 
       where 日期<(select 日期 from 表a where 重量=‘空白’) 
               and 日期>(select 日期-3 from 表a where 重量=‘空白’)
     )b
    where 表a.重量=‘空白’注明:这个sql只适合重量有一个空白行记录,假如不止一条重量为空白的记录,可以根据需求取最大或者最小的来做判断:select 日期,拒收冷却值,b.前3日冷却平均值,拒收量
    from 表a ,
    ( select avg(冷却值) 
       from 表a 
       where 日期<(select min(日期) from 表a where 重量=‘空白’) 
               and 日期>(select min(日期)-3 from 表a where 重量=‘空白’)
     )b
    where 表a.重量=‘空白’或者select 日期,拒收冷却值,b.前3日冷却平均值,拒收量
    from 表a ,
    ( select avg(冷却值) 
       from 表a 
       where 日期<(select max(日期) from 表a where 重量=‘空白’) 
               and 日期>(select max(日期)-3 from 表a where 重量=‘空白’)
     )b
    where 表a.重量=‘空白’
      

  2.   

    先把你的日期改成标准的DATE或者其他类型可以不,否则运行起来会很慢,而且对日常应用而言,也是给自己找麻烦。