大纲


    首页 mysql基础教程[basic] 详情
    mysql开窗函数over的理解

    开窗函数的计算范围实在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  --整个组
    评论
    您尚未登录,请 登录 后评论
    共 0 条评论 | 欢迎尬评