首页 新闻 搜索 专区 学院

ORACLE 一列日期,如何向下取10天的数据汇总

0
悬赏园豆:200 [待解决问题]

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

新时空&的主页 新时空& | 初学一级 | 园豆:4
提问于:2020-12-20 13:47
< >
分享
所有回答(4)
0
mljqqh | 园豆:204 (菜鸟二级) | 2020-12-20 17:26
0

向下取10天啥意思?10天内的数据?

Jonny-Xhl | 园豆:691 (小虾三级) | 2020-12-20 20:55

是的汇总每一条数据10天内的金额

支持(0) 反对(0) 新时空& | 园豆:4 (初学一级) | 2020-12-20 21:07

@新时空&: 汇总每一条数据10天内的金额。。后面的条数不存在覆盖情况么?

支持(0) 反对(0) Jonny-Xhl | 园豆:691 (小虾三级) | 2020-12-20 21:35

@Jonny-Xhl: 按照id,name,time,sum(money) 这个时间是time +10

支持(0) 反对(0) 新时空& | 园豆:4 (初学一级) | 2020-12-20 21:42

@新时空&: 自己都还没搞清楚需求嘛。。可以理解成 每10天汇总统计 是吧。

支持(0) 反对(0) Jonny-Xhl | 园豆:691 (小虾三级) | 2020-12-20 21:48
0

游标获取 time 和 time+10的天数 select id,name,'开始时间',sum(money) from 表 where time between time and time+10 循环一次插入一张表中

新时空& | 园豆:4 (初学一级) | 2020-12-20 21:48

仅供参考:

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
支持(0) 反对(0) Jonny-Xhl | 园豆:691 (小虾三级) | 2020-12-20 22:07
0

select sum(money) where time >=SYSDATE() and time <= SYSDATE()+10

不知道风往哪儿吹 | 园豆:2001 (老鸟四级) | 2020-12-21 11:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册