HiveQL中的AVG - 当我尝试获取列的平均值时出错

时间:2015-07-07 03:41:44

标签: mysql sql hive hiveql

我试图获得每个StationID的温度的总平均值(我的数据库中的一列,从表w开始)(我的数据库中的一列来自表格)。

我的查询:

SELECT s.zipcode AS Zipcode, AVG(w.precip) AS Preciptation FROM stationData s JOIN weatherReport w ON s.stationid = w.stationid;

错误:

  

您的查询有以下错误:
  OK FAILED:SemanticException [错误10025]:第1行:7表达式不在GROUP BY键' zipcode'
  ok failed:semanticexception [错误10025]:第1行:第7行表达式不是按键分组' zipcode'

2 个答案:

答案 0 :(得分:0)

您需要在Zipcode上使用GROUP BY子句,因为您在降水时使用了聚合函数

SELECT s.zipcode AS Zipcode, AVG(w.precip) AS Preciptation 
FROM stationData s 
JOIN weatherReport w ON s.stationid = w.stationid
GROUP BY s.zipcode

答案 1 :(得分:0)

如果您使用AVG(),则需要对查询进行分组。

尝试:

SELECT s.zipcode AS Zipcode, AVG(w.precip) AS Preciptation FROM stationData s JOIN weatherReport w ON s.stationid = w.stationid group by s.zipcode;