运行查询时出错:STDDEV是一个分析函数,必须附带一个OVER子句

时间:2016-07-28 18:51:36

标签: google-bigquery

SELECT user,Lat,Long,stdlat,stdlong

(选择
user,ROUND(locLatitude,2)AS Lat,ROUND(locLongitude,2)AS
长,STDDEV(locLatitude)为stdlat,STDDEV(locLongitude)为stdlong
来自[表]
产品=' ABC'
和年(StartTime)= 2016年 AND St​​artTime< = CURRENT_TIMESTAMP()
AND STDDEV(locLatitude)< 10
AND STDDEV(locLongitude)< 10
GROUP BY 1,2,3)
在哪里 stdlat< = 2
和stdlong< = 2
和Lat NOT IN(0.0)
并且长期不在(0.0)
GROUP BY 1,2,3,4,5

当我执行上述查询时,我收到错误说"运行查询时出错:STDDEV是一个分析函数,必须附带一个OVER子句"

有人帮我理解我的查询有什么问题?

1 个答案:

答案 0 :(得分:0)

尝试以下修复内部SELECT

  SELECT
    user,
    ROUND(locLatitude,2) AS Lat,
    ROUND(locLongitude,2) AS Long,
    STDDEV(locLatitude) AS stdlat,
    STDDEV(locLongitude) AS stdlong
  FROM [Table]
  WHERE product='ABC'
    AND YEAR(StartTime) =2016
    AND StartTime <= CURRENT_TIMESTAMP()
  GROUP BY 1,2,3
  HAVING stdlat < 10
  AND stdlong < 10