#思路:使用自连结和row_number(),找到所有row_number小于等于当前行row_number的 select a.emp_no,a.salary,sum(b.salary) as running_total from (SELECT *,row_number() OVER() as row FROM salaries WHERE to_date='9999-01-01') as a inner join (SELECT *,row_number() OVER() as row FROM salaries WHERE to_date='9999-01-01') as b on b.row<=a.row group by a.emp_no