username month salary
A 2015-01 15 B 2015-01 5 A 2015-01 8 B 2015-01 25 A 2015-01 5 A 2015-02 4 A 2015-02 6 B 2015-02 10 B 2015-02 5 |
中间表(自连接)
A 2015-01 33 A 2015-01 33 A 2015-01 33 A 2015-02 10 A 2015-02 10 A 2015-01 33 A 2015-02 10 A 2015-02 10 B 2015-01 30 B 2015-01 30 B 2015-01 30 B 2015-02 15 B 2015-02 15 B 2015-01 30 B 2015-02 15 B 2015-02 15 |
(select username,month,sum(salary) as salary from sala group by username,month )A
inner join
(select username,month,sum(salary) as salary from sala group by username,month)B
on
A.username=B.username
un month sa sum
A 2015-01 33 33 A 2015-02 10 43 B 2015-01 30 30 B 2015-02 15 45 |
from
(select username,month,sum(salary) as salary from sala group by username,month) A
inner join
(select username,month,sum(salary) as salary from sala group by username,month) B
on
A.username=B.username
where B.month <= A.month
group by A.username,A.month
order by A.username,A.month;