select stcd ,tm,drp,
     sum(drp) over (partition by stcd order by tm range between interval '3' hour preceding  and interval '0' hour following ) accp
     from st_pptn_r如何将这条语句转成sqlserver2008,求大牛解救!sqlserveroracle

解决方案 »

  1.   

    select
     stcd ,tm,drp,
     sum(drp) over (partition by stcd order by tm   ) accp
    from
     st_pptn_r
    where 
     xxxx  --这里去填写你的那个条件
      

  2.   

    大神啊~~~mysql、oracle、sqlserver通杀
      

  3.   

    oracle里面那句话翻译起来是什么意思?
      

  4.   

    你这个好像是查询当前时间前3小时的数据 在WHERE条件那里加上当前时间前3小时的就可以了。
      

  5.   


    试试
    select
     stcd ,tm,drp,
     sum(drp) over (partition by stcd order by tm) accp
    from
     st_pptn_r
    where
     datediff(hh,tm,getdate())>=3
      

  6.   

    partition by stcd 
    按stcd分组order by tm 
    按tm排序range between interval '3' hour preceding  and interval '0' hour following
    取当前记录前3个小时到当时记录时间之间的记录
      

  7.   

    在sqlserver2008中partition by stcd 和 order by tm 好像不能同时使用