我有一个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