我编写了以下sql查询:
SELECT
*
FROM CSVDatabase.dbo.sales_info
GROUP BY Company HAVING AVG(Sales)
它基于以下数据集
但是,出现以下错误:
1在需要条件的上下文中在“ SET”附近指定的非布尔类型的表达式。
我正在尝试获取整个数据集的均值。
我还编写了一个python脚本,该脚本可以实现与上述sql脚本相同的结果,如下所示:
df.groupBy('Company').mean().show()
python脚本返回我想从sql查看的结果,如下所示:
有人可以让我知道sql脚本出了什么问题吗?
答案 0 :(得分:3)
在我看来,就像您试图以错误的方式使用HAVING
。 HAVING
子句用于:
HAVING过滤器可对汇总的GROUP BY结果进行处理的记录。 HAVING适用于汇总的组记录,而WHERE适用于 个人记录。只有符合HAVING标准的组才会 被退回。 HAVING要求存在GROUP BY子句。哪里 和HAVING可以在同一查询中。
您必须在AVG(Sales)
子句中移动SELECT
,或者如果您想强制使用它,则需要在HAVING
子句中构建语句。如果您还有其他问题,请HAVING AVG(Sales)>yourValue
留言:)
答案 1 :(得分:1)
我认为SQL应该像下面这样
import YouTubePlayer from 'react-player/lib/players/YouTube'
<YouTubePlayer
url='https://some-youtube-url-with-captions-available'
width='100%'
playing
controls
cc_load_policy
/>