我有一個MS Access 2010中的表我試圖分析屬於各種羣體完成各種工作的人。我想要做的是計算每個人每個團隊完成的工作數量的標準偏差。意思是,我想要的結果是,對於每個組,我都會有一個數字,它構成了每個人做了多少工作的標準偏差。Microsoft Access SQL STDEV的數據計數
的數據結構是這樣的:
OldGroup, OldPerson, JobID
我知道,我需要做的集團和個人的作業ID的COUNT
。我試圖創建一個子查詢的工作,但沒有工作:
SELECT data.OldGroup, STDEV(
SELECT COUNT(data.JobID)
FROM data
WHERE data.Classification = 1
GROUP BY data.OldGroup, data.OldPerson
)
FROM data
GROUP BY data.OldGroup;
這將返回一個錯誤「最多一個記錄可以通過這個子查詢返回,」我知道錯了,因爲當我試圖要將子查詢作爲獨立查詢運行,它已成功返回多條記錄。
問題: 我怎樣才能得到一個COUNT
的STDEV
?
問題:如果這個問題可以通過更正我的例子中不正確的語法來解決,請這樣做。
它告訴你,你只能返回一個項目(STDEV),但你是'GROUPING BY'。從子查詢中刪除「GROUP BY」,看看是否有效。 – Sablefoste
@SableFoste,在刪除子查詢中的GROUP BY後,Access確實在物理上運行了查詢,但輸出肯定不是正確結果 - 它爲每個記錄返回一個記錄,每個記錄的計算都與'STDEV'。顯然,不同的羣體不應該有相同的標準偏差,所以很明顯在那裏出了問題。 – jdotjdot