sum(num)over(partition by id order by date asc)与sum(num)over(partition by id)的区别
时间: 2023-10-12 13:03:42 浏览: 125
这两个窗口函数的区别在于`order by`子句的存在与否。
`SUM(num) OVER(PARTITION BY id ORDER BY date ASC)`是一个按照`id`分组,并按`date`升序排列的窗口函数,它会计算每个`id`分组内部,当前行及其之前所有行`num`列的和。也就是说,这个窗口函数是按照时间顺序逐行计算的。
`SUM(num) OVER(PARTITION BY id)`是一个按照`id`分组的窗口函数,它会计算每个`id`分组内所有行`num`列的和。这个窗口函数没有指定排序,因此对于同一个`id`分组内的所有行,其`num`列的和都是相同的。
总的来说,`SUM(num) OVER(PARTITION BY id ORDER BY date ASC)`是在一个时间序列内逐行计算的,而`SUM(num) OVER(PARTITION BY id)`仅仅是按照分组计算总和而已。
阅读全文