首页 新闻 会员 周边 捐助

oracle,按任务单完成状态来统计每个人的任务单数量?

0
悬赏园豆:10 [已解决问题] 解决于 2015-06-23 10:08

1.任务单表(taskinfo),字段有:计划完成日期(enddate),实际完成日期(factenddate),用户名(username)等

2.按任务单完成状态来统计每个人每月的任务单数量
说明:任务单完成状态,是由实际完成日期与计划完成日期比较得来的,
1)实际完成日期小于计划完成日期,表示提前完成
2)等于,表示按时完成
3)大于,表示延期完成

3.最后的统计结果应该是,
用户名 提前完成 按时完成 延期完成
XXX 数量 数量 数量
XXX 数量 数量 数量
XXX 数量 数量 数量
……

B_yellow的主页 B_yellow | 初学一级 | 园豆:5
提问于:2015-06-18 14:37
< >
分享
最佳答案
1
SELECT username,
SUM(CASE WHEN factenddate<enddate THEN 1 ELSE 0 END) AS 提前完成,
SUM(CASE WHEN factenddate=enddate THEN 1 ELSE 0 END) AS 按时完成,
SUM(CASE WHEN factenddate>enddate THEN 1 ELSE 0 END) AS 延期完成
FROM taskinfo GROUP BY username
收获园豆:10
webaspx | 小虾三级 |园豆:1973 | 2015-06-18 15:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册