每1天:
select stcd,convert(datetime,convert(char(8),ymdhm,112)) as ymdhm,sum(dtrn) as dtrn from st_rnfl_ys_t group by stcd,convert(datetime,convert(char(8),ymdhm,112))

解决方案 »

  1.   

    我要的结果如下:
    stcd           ymdhm         dtrn
    -----------------------------------
    0001         2002-6-2         60
    0001         2002-6-3         30
    0001         2002-6-4         64  
    0001         2002-6-5         77  
    0001         2002-6-6         NULL///此处时间如落空则统计结果补空
    0002         2002-6-2         NULL///此处时间如落空则统计结果补空
    0002         2002-6-3         NULL///此处时间如落空则统计结果补空
    0002         2002-6-4         50
    0002         2002-6-5         40
    0002         2002-6-6         141
      

  2.   

    每2天:
    declare @dt datetime
    select @dt=min(convert(datetime,convert(char(8),ymdhm,112))) from st_rnfl_ys_tselect stcd,datediff(day,@dt,ymdhm)/2 as diff2days,sum(dtrn) as dtrn from st_rnfl_ys_t group by stcd,datediff(day,@dt,ymdhm)/2每3天:
    declare @dt datetime
    select @dt=min(convert(datetime,convert(char(8),ymdhm,112))) from st_rnfl_ys_tselect stcd,datediff(day,@dt,ymdhm)/3 as diff3days,sum(dtrn) as dtrn from st_rnfl_ys_t group by stcd,datediff(day,@dt,ymdhm)/3
      

  3.   

    每天的:
    select stcd,substring(ymdhm,1,10),sum(dtrn) as dtrn from a group by stcd,substring(ymdhm,1,10)
      

  4.   

    to: Yang_(扬帆破浪)    老大,好像你的结果不能给定起始时间和结束时间,而且得到的结果没有规律,我想要的是有规律的结果。对每个部门得到的结果记录条数要一样,只是如果该部门在某个时间上没有销售的话就为空。
      

  5.   

    to: zcflion(土匪)
     如果该部门在某个时间上没有销售的话就为空,这个好象难实现啊!
      

  6.   

    建一个临时表#temp,内有时间字段,值为从开始时间到结束时间
    from st_rnfl_ys_t a full outer join #temp b on a.ymdhm=b.TimeField
      

  7.   

    呀呀个呸的,终于搞定了1天的,还有2 天的,3天的没搞定,高手们继续帮忙!顺便把1天的贴出来,大家讨论讨论!select a.stcd,b.ymdhm,b.dtrn
    from
    (select stcd
    from st_rnfl_ys_t
    group by stcd )as a cross join 
    (select cast(convert(char(10),ymdhm,112) as datetime) as ymdhm ,sum(dtrn) as dtrn
    from st_rnfl_ys_t group by cast(convert(char(10),ymdhm,112) as datetime)
    ) as b 
    order by a.stcd,b.ymdhm