SQL按错误分组与Python按错误分组比较
我编写了以下sql查询: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脚本返回我希望
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子句中。