sum()over()函数排序累加

https://www.nowcoder.com/practice/58824cd644ea47d7b2b670c506a159a6?tpId=82&tags=&title=&difficulty=0&judgeStatus=0&rp=1

按照salary的累计和running_total,其中running_total为前N个当前( to_date = '9999-01-01')员工的salary累计和,其他以此类推


一般操作:

select sa.emp_no,sa.salary,
(select sum(a.salary) from salaries a
     where a.emp_no<=sa.emp_no and a.to_date = '9999-01-01') running_total
from salaries sa
where sa.to_date = '9999-01-01'
order by sa.emp_no

 

使用sum()over()函数:

SELECT emp_no, salary,
SUM(salary) OVER(ORDER BY emp_no) AS running_total
FROM salaries WHERE to_date = '9999-01-01'

 

 https://lux-sun.blog.csdn.net/article/details/117448665?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link

posted @ 2021-09-30 16:08  小茅屋  阅读(537)  评论(0)    收藏  举报