SQL Group By与Python Group By比较

时间:2018-07-18 08:58:46

标签: python sql

我编写了以下sql查询:

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

它基于以下数据集

dataset

但是,出现以下错误:

  

1在需要条件的上下文中在“ SET”附近指定的非布尔类型的表达式。

我正在尝试获取整个数据集的均值。

我还编写了一个python脚本,该脚本可以实现与上述sql脚本相同的结果,如下所示:

df.groupBy('Company').mean().show()

python脚本返回我想从sql查看的结果,如下所示:

dataset2

有人可以让我知道sql脚本出了什么问题吗?

2 个答案:

答案 0 :(得分:3)

在我看来,就像您试图以错误的方式使用HAVINGHAVING子句用于:

  

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
    />