SQL按错误分组与Python按错误分组比较

SQL按错误分组与Python按错误分组比较,python,sql,Python,Sql,我编写了以下sql查询: SELECT * FROM CSVDatabase.dbo.sales_info GROUP BY Company HAVING AVG(Sales) 它基于以下数据集 但是,我得到以下错误: 1在“SET”附近预期条件的上下文中指定的非布尔型表达式 我试图得到整个数据集的平均值 我还编写了一个python脚本,旨在实现与上述sql脚本相同的结果,如下所示: df.groupBy('Company').mean().show() python脚本返回我希望

我编写了以下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脚本哪里出了问题吗?

我认为sql应该如下所示

SELECT Company, AVG(Sales)
FROM CSVDatabase.dbo.sales_info
GROUP BY Company

我认为SQL应该如下所示

SELECT Company, AVG(Sales)
FROM CSVDatabase.dbo.sales_info
GROUP BY Company

在我看来,您似乎试图以错误的方式使用
have
HAVING
子句用于:

筛选按结果分组汇总的记录。 HAVING适用于集团汇总记录,而WHERE适用于 个人记录。只有符合HAVING标准的组才会 被退回。HAVING要求存在GROUP BY子句。哪里 和have可以在同一个查询中


你必须在
SELECT
子句中移动你的
AVG(Sales)
,或者如果你想强制执行,你需要在
HAVING
子句中构建语句<代码>拥有平均值(销售)>您的价值如果您有更多问题,请发表评论(tnx:)

在我看来,您试图以错误的方式使用
拥有
HAVING
子句用于:

筛选按结果分组汇总的记录。 HAVING适用于集团汇总记录,而WHERE适用于 个人记录。只有符合HAVING标准的组才会 被退回。HAVING要求存在GROUP BY子句。哪里 和have可以在同一个查询中


你必须在
SELECT
子句中移动你的
AVG(Sales)
,或者如果你想强制执行,你需要在
HAVING
子句中构建语句
HAVING AVG(Sales)>yourValue
如果您有更多问题,请向下评论tnx:)

SQL中HAVING
关键字不用于
选择
value我很抱歉,但您在这里的意思是:
HAVING AVG(Sales)
。当我编写相同的命令但没有AVG(Sales)时,看起来您缺少了类似于
HAVING AVG(Sales)>value
的条件,ie SELECT*FROM CSVDatabase.dbo.sales_info GROUP BY Company我收到错误消息:1列“CSVDatabase.dbo.sales_info.Person”在选择列表中无效,因为它既不包含在聚合函数中,也不包含在GROUP BY子句中。
在SQL中包含
关键字不用于
选择
值我很抱歉,但是您需要这里的意思是:
具有平均值(销售)
。当我编写相同的命令但没有AVG(Sales)时,看起来您缺少了类似于
HAVING AVG(Sales)>value
的条件,ie SELECT*FROM CSVDatabase.dbo.sales_info GROUP BY Company我收到错误消息:1列“CSVDatabase.dbo.sales_info.Person”在SELECT列表中无效,因为它不包含在聚合函数或GROUP BY子句中。