题解 | #统计salary的累计和running_total#

统计salary的累计和running_total

http://www.nowcoder.com/practice/58824cd644ea47d7b2b670c506a159a6

SELECT emp_no,salary,(
    select sum(salary)
    from salaries s2
    where s2.emp_no <= s1.emp_no
    and to_date = '9999-01-01'
) running_total
from salaries s1
where to_date = '9999-01-01'

之前有一题给员工排序号有大佬不用窗口函数,十分震惊,这次写了类似的 子查询使用s2.emp_no <= s1.emp_no,而不是>=,因为父查询遍历每一行记录会向子查询传入一个emp_no,累加的时候是取比父查询的emp_no小的部分 当然,无论父查询还是子查询,都不要忘记to_date = '9999-01-01' 能用窗口函数是最好的

全部评论

相关推荐

10-21 00:37
已编辑
门头沟学院 C++
小浪_Coding:你问别人,本来就是有求于人,别人肯定没有义务免费回答你丫, 有点流量每天私信可能都十几,几十条的,大家都有工作和自己的事情, 付费也是正常的, 就像你请别人搭把手, 总得给人家买瓶水喝吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务