练习题解答如下:
5.1
执行该程序后product_id 按照升序排列,会找出当前行的最高售价。
5.2
select regist_date, sum(sale_price)
over(partition by regist_date order by regist_date)
from product;
5.3
① 若没有指定partiton by 结果就会自动累加,针对排序的那一列进行全局排序。
②SQL执行顺序是:
from >where>group by >having >select >order by
如果在where,having,group by中使用窗口函数,那么窗口中的order by会进行排序聚合,对聚合后的数据使用where,group by,having明显是不正确的。因为order by 在最后执行,可以在其中使用窗口函数。