当前位置: 代码迷 >> Sql Server >> 关于统计工作量的有关问题
  详细解决方案

关于统计工作量的有关问题

热度:75   发布时间:2016-04-24 09:09:46.0
关于统计工作量的问题
现有表workdetail如下:
id         userid   workid      workdate
1             1              1           2015-03-01      
2             2              1           2015-03-05      
3             2              2           2015-03-07      
4             2              3           2015-03-11      
5             2              4           2015-03-21      
6             3              4           2015-04-01      

其中userid表示用户Id,workid表示某项工作Id。

第1-2条数据workid相同(都是1)而userid不同(分别为1、2))表示2人共同完成一件工作,每人记0.5的工作量;
第3条数据userid=2独立完成了workid=2这项工作,记工作量为1;
以此类推......

我想统计2015年3月份每个人的工作量是多少,请教高手。
------解决思路----------------------
;WITH CTE AS(
SELECT userid,workid,COUNT(userid)OVER(PARTITION BY workid)C
FROM workdetail
WHERE workdate>='2015-03-01'AND workdate<'2015-04-01'
)
SELECT userid,SUM(1.0*1/C)AS[工作量]
FROM CTE
GROUP BY userid
  相关解决方案