热线电话:13121318867

登录
2022-09-18 阅读量: 1099
不能在having子句中使用窗口函数吗?

错误版本:

SELECT

country,

AVG(final_price)

FROM auction

GROUP BY country

HAVING AVG(final_price) > AVG(final_price) OVER ();


正确版本:

SELECT

country,

AVG(final_price)

FROM auction

GROUP BY country

HAVING AVG(final_price) > (SELECT AVG(final_price) FROM auction);



总结:

  • 窗口函数只能出现在SELECT和ORDER BY子句中

  • 如果查询的其他部分(WHERE,GROUP BY,HAVING)需要窗口函数,请使用子查询,然后在子查询中在使用窗口函数

  • 如果查询使用聚合或GROUP BY,请记住窗口函数只能处理分组后的结果,而不是原始的表数据


80.0000
0
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子