mysql sum按条件求和_SQL 累计求和
今天看到有群友在群里了这个问题,问题描述见下图。这种需求在做报表统计时经常会遇到,会的人觉得不难,没有接触过可能会被困住,所以我把它拿出来和大家分享。
图中已把问题描述清楚,再结合数据看就更清晰了。用算法来描述就是:给定一张表(假设表名叫作 t),t 表有字段(oid,period,amount,balance),对同一时期(period 字段的值相等)的金额(amount)按 oid 的顺序做累加求和操作,累加的结果放到 balance 字段。
结合数据来看,在原始数据中,当 oid = 1 时,amount = 3500.00,由于此时只有一条记录,所以 balance = 3500.00 ;当 oid = 2 时,amount = 5100.00,balance = 3500.00 + 5100.00 = 8600.00;同理,当 oid = 3 时,balance = 3500.00 + 5100.00 + 10000.00 = 18600.00 。
今天看到有群友在群里了这个问题,问题描述见下图。这种需求在做报表统计时经常会遇到,会的人觉得不难,没有接触过可能会被困住,所以我把它拿出来和大家分享。 图中已把问题描述清楚,再结合数据看就更清晰了。用算法来描述就是:给定一张表(假设表名叫作 t),t 表有字段(oid,period,amount,balance),对同一时期(period 字段的值相等)的金额(amount)按 oid 的顺序做累加求和操作,累加的结果放到 balance 字段。 结合数据来看,在原始数据中,当 oid = 1 时,amount = 3500.00,由于此时只有一条记录,所以 balance = 3500.00 ;当 oid = 2 时,amount = 5100.00,balance = 3500.00 + 5100.00 = 8600.00;同理,当 oid = 3 时,balance = 3500.00 + 5100.00 + 10000.00 = 18600.00 。