SELECT user,Lat,Long,stdlat,stdlong
发件人
(选择
user,ROUND(locLatitude,2FROM[表]
WHERE product='ABC'
AND YEAR(StartTime)=2016
AND开始时间<=CURRENT_TIMESTAMP()
AND STDDEV(locLatitude)<10
AND STDDEV(locLongitude)<10
按1,2,3分组)
位置
stdlat<2
AND stdlong<2
AND Lat NOT IN(0.0)
AND Long NOT IN(0.0)
按1,2,3,4,5分组
当我执行上面的查询时,我得到一个错误,说"运行查询时出错:STDDEV是一个分析函数,必须伴随一个OVER子句"
有人能帮我理解我的查询出了什么问题吗?
尝试以下针对内部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