首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据计数的Microsoft SQL STDEV

数据计数的Microsoft SQL STDEV
EN

Stack Overflow用户
提问于 2012-11-12 16:46:41
回答 2查看 2.7K关注 0票数 1

我在MS 2010中有一张表格,我试图分析那些属于不同群体的人,他们已经完成了不同的工作。我想做的是计算每个人每组完成的工作数量的标准差。也就是说,我想要的输出是,对于每个组,我有一个数字,它构成了每个人做了多少份工作的标准差。

数据的结构如下:

代码语言:javascript
复制
OldGroup, OldPerson, JobID 

我知道我需要按组和个人对作业I执行一个COUNT。我尝试创建一个要使用的子查询,但没有成功:

代码语言:javascript
复制
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;

这返回了一个错误--“这个子查询最多可以返回一个记录”,我知道这是错误的,因为当我试图将子查询作为独立查询运行时,它成功地返回了多个记录。

问题:如何获得COUNTSTDEV

子问题:--如果这个问题可以通过纠正我的示例中的错误语法来回答,请这样做。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-12 18:25:52

战略上的一个小变化并不适用于所有情况,但最终却解决了这个问题。我没有将子查询放在SELECT语句中,而是将其放入FROM中,模拟创建单独的表。

因此,我的代码看起来是:

代码语言:javascript
复制
SELECT OldGroup, STDEV(NumberJobs) AS JobsStDev
FROM (
    SELECT OldGroup, OldPerson, COUNT(JobID) AS NumberJobs
    FROM data
    WHERE data.Classification = 1
    GROUP BY OldGroup, OldPerson
) AS TempTable
GROUP BY OldGroup;

似乎完成了任务。

票数 1
EN

Stack Overflow用户

发布于 2012-11-12 17:20:54

尝试对"SELECT (data.JobID).“执行最大表查询然后,对于第二个查询,使用新的基表。

有时,在2个或更多查询中执行某些操作就更容易了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13347770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档