CDA持证人阿涛哥

2022-09-18   阅读量: 689

Mysql

不能在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 2 0 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子