表如下所示:
ID 用户ID 模块名 难度系数 开始时间 结束时间 标示
ID USERID MODULENAME GRADE BEGINDATE ENDDATE FLAG
1 P001 ABCDEFG 2 2003-5-11 2008-9-9 N
2 P001 BBCDEFH 1 2004-5-11 2008-8-8 N
3 P001 CBCDEFI 3 2005-5-11 2008-9-9 N
4 P001 DBCDEFK 4 2006-5-11 2008-9-6 Y
5 P001 EBCDEFN 1 2007-5-11 2008-9-9 N
6 P001 FBCDEFM 5 2006-1-11 2008-9-9 N
7 P001 GBCDEFL 7 2006-2-11 2008-9-1 Y
8 P001 HBCDEFQ 1 2006-3-11 2008-8-1 N
9 P001 IBCDEFW 2 2006-4-11 2008-9-1 Y
10 P001 JBCDEFR 4 2004-5-11 2008-8-1 N
11 P001 KCDEFTF 5 2005-6-11 2007-6-9 Y
12 P001 LBCDEFY 8 2005-7-11 2006-6-1 Y
13 P001 LBCDEFY 5 2008-1-11 2008-12-1 Y
查询条件如下:
1.按用户统计开始日期或结束时间都在当前年的记录[分十二个月统计];
2.把每个任务的难度系数平均分配到每个月份。
3.如果是提前完成的任务,则将当前月以后的难度系数平均分配到前面的月中显示。
4.如果是正在进行没有超出结束时间的,也加上难度系数,如果没有按时完成,则不显示难度系数。
ID 用户ID 模块名 难度系数 开始时间 结束时间 标示
ID USERID MODULENAME GRADE BEGINDATE ENDDATE FLAG
1 P001 ABCDEFG 2 2003-5-11 2008-9-9 N
2 P001 BBCDEFH 1 2004-5-11 2008-8-8 N
3 P001 CBCDEFI 3 2005-5-11 2008-9-9 N
4 P001 DBCDEFK 4 2006-5-11 2008-9-6 Y
5 P001 EBCDEFN 1 2007-5-11 2008-9-9 N
6 P001 FBCDEFM 5 2006-1-11 2008-9-9 N
7 P001 GBCDEFL 7 2006-2-11 2008-9-1 Y
8 P001 HBCDEFQ 1 2006-3-11 2008-8-1 N
9 P001 IBCDEFW 2 2006-4-11 2008-9-1 Y
10 P001 JBCDEFR 4 2004-5-11 2008-8-1 N
11 P001 KCDEFTF 5 2005-6-11 2007-6-9 Y
12 P001 LBCDEFY 8 2005-7-11 2006-6-1 Y
13 P001 LBCDEFY 5 2008-1-11 2008-12-1 Y
查询条件如下:
1.按用户统计开始日期或结束时间都在当前年的记录[分十二个月统计];
2.把每个任务的难度系数平均分配到每个月份。
3.如果是提前完成的任务,则将当前月以后的难度系数平均分配到前面的月中显示。
4.如果是正在进行没有超出结束时间的,也加上难度系数,如果没有按时完成,则不显示难度系数。
USERID = 'P001' AND (BEGINDATE BETWEEN to_date('2008-01-01','yyyy-mm-dd') AND to_date('2008-12-31','yyyy-mm-dd') OR ENDDATE BETWEEN to_date('2008-01-01','yyyy-mm-dd') AND to_date('2008-12-31','yyyy-mm-dd'))
查询条件二:
在上面的基础上分月统计,然后将每个任务的难度系/总月数得到每个月的平均难度系数。
然后将在该月的所有任务的平均难度系数累加得到该月的总难度系数。这个可以是一次查询一个月的,分十二次查询。
查询条件三:
统计已完成的任务。
如果是提前完成,则将该任务的总度系数平均分配到又当前月含当前月以前的月中。后面的月份中不显示该难度系数。
如果任务正在进行,并且没有超出结束时间。则在月份中累加上这个任务的难度系数。如果超出结束时间,则取消累加它的难度系数。