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 StartTime< = 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子句"
有人帮我理解我的查询有什么问题?
答案 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