题解 | 统计salary的累计和running_total

统计salary的累计和running_total

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

select emp_no,salary,sum(salary) over (order by emp_no) running_total
from salaries
where to_date = '9999-01-01'

1. 在许多数据库系统(如 PostgreSQL、MySQL 8.0+、SQL Server 等)中,如果在 SUM() 窗口函数中指定了 ORDER BY,但没有显式指定 ROWSRANGE 子句,那么默认行为通常是 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW。这意味着它会计算从第一行到当前行的累计值。

2.如果是SUM( ) OVER (PARTITION BY column)则代表是对窗口内或整个表(如果没有 PARTITION BY)的列求和

如果使用了 ORDER BY:SUM() 窗口函数会计算从分区的开始到当前行的累计值。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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