窗口函数Window子句的默认范围是在当前行的前后所有行。简单来说,默认情况下,窗口函数会作用于窗口中的所有行,无论这些行是在当前行之前还是之后。这种默认范围可以通过"ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING"来表示,表示从窗口的最开始到最结束的所有行。
举例来说,假设我们有一个销售订单表,包含订单号、订单金额和订单日期等字段。我们想要计算每个订单的累计销售额,并且要展示每个订单的销售额与之前所有订单的销售额之和。可以使用窗口函数来实现这个功能,其中默认范围将包括当前订单及之前所有订单的销售额。
SELECT
订单号,
订单金额,
订单日期,
SUM(订单金额) OVER (ORDER BY 订单日期) AS 累计销售额
FROM
销售订单表;
在上面的例子中,窗口函数SUM(订单金额) OVER (ORDER BY 订单日期)
指定了对订单金额进行累加计算,并且按照订单日期进行排序。默认情况下,窗口函数会作用于当前行及之前所有行,计算得到每个订单的累计销售额。