id name time money
1 aa 2020-01-01 70000
1 aa 2020-01-01 70000
1 aa 2020-01-02 70000
1 aa 2020-01-03 70000
1 aa 2020-01-05 70000
1 aa 2020-01-09 700000
1 aa 2020-01-12 70000
向下取10天啥意思?10天内的数据?
是的汇总每一条数据10天内的金额
@新时空&: 汇总每一条数据10天内的金额。。后面的条数不存在覆盖情况么?
@Jonny-Xhl: 按照id,name,time,sum(money) 这个时间是time +10
@新时空&: 自己都还没搞清楚需求嘛。。可以理解成 每10天汇总统计 是吧。
游标获取 time 和 time+10的天数 select id,name,'开始时间',sum(money) from 表 where time between time and time+10 循环一次插入一张表中
仅供参考:
begin
declare t_c cursor for
select min(date) date from table_name t
group by date
order by date
declare @total int
declare @开始时间 datetime
open t_c
fetch t_c into @开始时间
while @@fetch_status=0
begin
select @total=sum(t.money) from table_name t
where t.date between @开始时间 and dateadd(day ,10,@开始时间)
insert into 表(开始时间,和) values(@开始时间,@total)
fetch t_c into @开始时间
end
close t_c
deallocate t_c
end
select sum(money) where time >=SYSDATE() and time <= SYSDATE()+10