日期:2014-05-17  浏览次数:20662 次

如何按照记录数量进行分组求和
以下表按照日期升序排序,但日期不一定连续,我想现在这样来求和,就是分别间隔3条和间隔5条记录进行分组求和

 theDate price
2011-10-01 5
2011-10-03 3
2011-10-06 3
2011-10-09 2
2011-10-10 6
2011-10-11 2
2011-10-15 9
2011-10-18 5


3条记录间隔分组,希望得到的结果

filed1 filed2
1 11
2 10
3 14

5条记录间隔分组,希望得到的结果

filed1 filed2
1 19
2 16



------解决方案--------------------
SQL code

select (rid-1)/3 as filed1,sum(price) filed2
from (
    select *,rid=row_number() over (order by theDate)
    from tb
)t
group by (rid-1)/3   --3是间隔数