之前理解over() 单独使用order by窗口的作用范围是从上无边界到当前行
其实理解的不够深刻,如果order by后面所跟字段在表数据中有重复值
则order by的作用范围应该是从上无边界到当前id(例如id为2,窗口覆盖到所有id为2的表数据)
例如上图 id为2时 到第二行取聚合值时,窗口覆盖范围其实是1到3行,所以聚合值为9。
按照以前的理解,当到第2行时,即上无边界到当前行,窗口函数聚合值为6,这是不对的。
之前理解over() 单独使用order by窗口的作用范围是从上无边界到当前行
其实理解的不够深刻,如果order by后面所跟字段在表数据中有重复值
则order by的作用范围应该是从上无边界到当前id(例如id为2,窗口覆盖到所有id为2的表数据)
例如上图 id为2时 到第二行取聚合值时,窗口覆盖范围其实是1到3行,所以聚合值为9。
按照以前的理解,当到第2行时,即上无边界到当前行,窗口函数聚合值为6,这是不对的。