题解 | 计算每日累计利润

计算每日累计利润

https://www.nowcoder.com/practice/c9b7a2f73eb54a3da4a81f15fd8a3665

思路分析:

本题求从第一天开始每日累计利润,思路就是按日期排序后,将第一天到今天的利润累计,结果需要增加一个新列,展示累加利润值,所以采用窗口函数SUM,ORDER BY profit_date即可。需要注意当窗口函数中使用ORDER BY以后,默认的计算范围就是从第一行到当前行,即相当于ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW,所以这句话加不加结果都是对的。

代码展示:

SELECT
    profit_id,
    profit_date,
    profit,
    SUM(profit) OVER (
        ORDER BY profit_date 
        ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -- 这句话可加可不加
    ) AS cumulative_profit
FROM
    daily_profits
ORDER BY
    profit_date;

全部评论

相关推荐

牛客21331815...:像我一投就pass,根本不用焦虑泡池子
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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