现有表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