背景
学习MySQL数据库参考书 -微信读书软件中的《SQL基础教程》第二版书中第八章第一节
问题
首先是使用PRECEDING关键字,由于MySQL8已经支持了窗口函数,SQL语句没有任何问题
SELECT product_name, product_type, sale_price,
AVG(sale_price) OVER (ORDER BY product_id ROWS 2 PRECEDING) AS moving_avg_preceding
FROM Product;
执行结果(书中图片,执行效果相同) 书中说使用关键字FOLLOWING替换PRECEDING,就可以指定“截止到_行之后”作为框架了
SELECT product_name, product_type, sale_price,
AVG(sale_price) OVER (ORDER BY product_id ROWS 2 FOLLOWING) AS moving_avg_following
FROM Product;
执行结果报错,书中也没有示例代码,网上搜了一堆东西,也是一笔带过,为什么不能正视问题的存在呢? 能力有限,只想到一个替代的办法
SELECT product_id, product_name, sale_price,
AVG(sale_price) OVER (ORDER BY product_id
ROWS BETWEEN 0 PRECEDING AND 2 FOLLOWING
) AS moving_avg
FROM Product;
执行结果 求大佬解释一下
转载请注明原文地址:https://blackberry.8miu.com/read-30074.html