首页
mysql基础教程[basic]
详情
mysql开窗函数over的理解
mysql
2024-01-14 18:32:56
112
0
开窗函数的计算范围实在over中指定的,我们需要对其好好理解
两个order by的执行时机
一般分析函数在整个查询结束后执行,但是查询中有order by时,需要注意:
- 两者一致:如果sql语句中的order by满足分析函数分析时要求的排序,那么sql语句中的排序将先执行,分析函数在分析时就不必再排序
- 两者不一致:如果sql语句中的order by不满足分析函数分析时要求的排序,那么sql语句中的排序将最后在分析函数分析结束后执行排序
窗口字句
当省略窗口子句时:
- 如果存在order by则默认的窗口是unbounded preceding and current row --当前组的第一行到当前行
- 如果同时省略order by则默认的窗口是unbounded preceding and unbounded following --整个组
如果省略分组,则把全部记录当成一个组:
- 如果存在order by则默认窗口是unbounded preceding and current row --当前组的第一行到当前行
- 如果这时省略order by则窗口默认为unbounded preceding and unbounded following --整个组