SQL 求按日累计

来源:互联网 发布:http协议默认端口号 编辑:程序博客网 时间:2024/04/20 08:10

实际开发的数据复杂,即使用网络查询到的数据及语句,主要记录思路方法。

原数据

年份    月份    销售日期          客户   产品     金额
2013   12      2013-12-1        A1       P1        100
2013    12      2013-12-25     A1       P1          200
2013     12    2013-12-5        A2      P2           150
2014     1      2014-1-2          A1       P1        1000
2014     1      2014-1-23         A1       P1          2000

2014     2       2014-2-15         A1      P1           1500

得出如下结果
年份    月份    销售日期          客户   产品    按年月日累计金额
2013   12      2013-12-1        A1       P1        100
2013    12      2013-12-25     A1       P1        300
2013     12    2013-12-5        A2      P2           150
2014     1      2014-1-2          A1       P1        1000
2014     1      2014-1-23         A1       P1        3000
2014     2       2014-2-15         A1      P1         1500


select 年份,月份,销售日期,客户,产品, (select sum(金额)  as 按年月日累计金额 from tb where 年份=t.年份 and 月份=t.月份 and 客户=t.客户 and 产品=t.产品 and 销售日期<=t.销售日期) as 按年月日累计金额from tb t