2016-07-28 32 views
0

SELECT用戶,緯度,經度,stdlat相伴,stdlong
FROM
(SELECT
用戶,ROUND(locLatitude,2)AS緯度, ROUND(locLongitude,2)AS
龍,STDDEV(locLatitude)作爲stdlat,STDDEV(locLongitude)作爲stdlong
FROM [表]
WHERE產物= 'ABC'
和年份(開始時間)= 2016
與開始時間< = CURRENT_TIMESTAMP()
AND S TDDEV(locLatitude) AND STDDEV(locLongitude) GROUP BY 1,2,3)
WHERE
stdlat < = 2
AND stdlong < = 2
和LAT NOT IN(0.0)
和長NOT IN(0.0)
GROUP BY 1,2,3,4,5
錯誤運行的查詢:STDDEV是一個解析函數,並且必須通過OVER子句

當我執行上面的查詢,我得到一個錯誤說「錯誤運行的查詢:STDDEV是一個分析˚F並且必須伴有OVER子句「

CAn有人幫我理解我的查詢有什麼問題?

+0

如果答案幫助你解決問題,你接受了它 - 也請考慮投票起來。請參閱http://stackoverflow.com/help/someone-answers –

回答

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 
相關問題