issue:
ID---KEY---createtime---updatetime----所属作业ID
1----k1----2008/8/7-----2008/8/7------zy1
2----k2----2008/8/7-----2008/8/7------zy1
3----k3----2008/8/7-----2008/8/7------zy2
4----k4----2008/8/7-----2008/8/7------zy3
13----k4----2008/8/7-----2008/8/7------zy1
14----k4----2008/8/7-----2008/8/7------zy1
swork:
ID---KEY---作业名称---布置者
zy1--k5----XX作业----XX老师
zy2--k6----SS作业----TT老师
zy3--k7----JJ作业----QQ老师
zy4--k8----OO作业----UU老师
changegroup:
ID--------问题ID-------修改者---------修改时间
1001-------2----------TT老师 --------200-8-8
1002-------2----------TT老师 --------200-8-8
1003-------2----------TT老师 --------200-8-8
1004-------2----------QQ老师 --------200-8-8
1005-------3----------TT老师 --------200-8-8
1006-------3----------TT老师 --------200-8-8
1007-------3----------TT老师 --------200-8-8
1008-------9----------TT老师 --------200-8-8
1009-------9----------TT老师 --------200-8-8
1010-------13---------TT老师 --------200-9-8
1011-------14---------TT老师 --------200-9-8
查询要求:指定修改者 在 指定作业 修改 多少问题的日走月报我的sql
select s.作业名,c.修改者,i.ID,date_format(c.修改日期,'%Y-%m-%d')from changegroup c,issue i,swork swhere c.问题ID=i.IDAND s.ID=i.所属作业IDAND s.作业名='XX作业'AND c.修改者='TT老师'查询结果:
作业名-----------修改者---------问题ID-------修改日期
XX作业-----------TT老师---------2-----------2008-8-8
XX作业-----------TT老师---------2-----------2008-8-8
XX作业-----------TT老师---------2-----------2008-8-8
XX作业-----------TT老师---------9-----------2008-8-8
XX作业-----------TT老师---------9-----------2008-8-8
XX作业-----------TT老师---------13----------2008-9-8
XX作业-----------TT老师---------14----------2008-9-8
根据查询要求 实际效果应该是
作业名-----------修改者----------------修改日期-------修改的问题量
XX作业-----------TT老师---------------2008-8-8----------2(问题ID:2和9两个问题)
XX作业-----------TT老师---------------2008-9-8----------2(问题ID:13和14两个问题)我的SQL 该怎么改,正确的该怎么写?
ID---KEY---createtime---updatetime----所属作业ID
1----k1----2008/8/7-----2008/8/7------zy1
2----k2----2008/8/7-----2008/8/7------zy1
3----k3----2008/8/7-----2008/8/7------zy2
4----k4----2008/8/7-----2008/8/7------zy3
13----k4----2008/8/7-----2008/8/7------zy1
14----k4----2008/8/7-----2008/8/7------zy1
swork:
ID---KEY---作业名称---布置者
zy1--k5----XX作业----XX老师
zy2--k6----SS作业----TT老师
zy3--k7----JJ作业----QQ老师
zy4--k8----OO作业----UU老师
changegroup:
ID--------问题ID-------修改者---------修改时间
1001-------2----------TT老师 --------200-8-8
1002-------2----------TT老师 --------200-8-8
1003-------2----------TT老师 --------200-8-8
1004-------2----------QQ老师 --------200-8-8
1005-------3----------TT老师 --------200-8-8
1006-------3----------TT老师 --------200-8-8
1007-------3----------TT老师 --------200-8-8
1008-------9----------TT老师 --------200-8-8
1009-------9----------TT老师 --------200-8-8
1010-------13---------TT老师 --------200-9-8
1011-------14---------TT老师 --------200-9-8
查询要求:指定修改者 在 指定作业 修改 多少问题的日走月报我的sql
select s.作业名,c.修改者,i.ID,date_format(c.修改日期,'%Y-%m-%d')from changegroup c,issue i,swork swhere c.问题ID=i.IDAND s.ID=i.所属作业IDAND s.作业名='XX作业'AND c.修改者='TT老师'查询结果:
作业名-----------修改者---------问题ID-------修改日期
XX作业-----------TT老师---------2-----------2008-8-8
XX作业-----------TT老师---------2-----------2008-8-8
XX作业-----------TT老师---------2-----------2008-8-8
XX作业-----------TT老师---------9-----------2008-8-8
XX作业-----------TT老师---------9-----------2008-8-8
XX作业-----------TT老师---------13----------2008-9-8
XX作业-----------TT老师---------14----------2008-9-8
根据查询要求 实际效果应该是
作业名-----------修改者----------------修改日期-------修改的问题量
XX作业-----------TT老师---------------2008-8-8----------2(问题ID:2和9两个问题)
XX作业-----------TT老师---------------2008-9-8----------2(问题ID:13和14两个问题)我的SQL 该怎么改,正确的该怎么写?
from changegroup c,issue i,swork s
GROUP BY s.作业名,c.修改者
from changegroup c,issue i,swork s
where c.问题ID=i.ID
AND s.ID=i.所属作业ID
AND s.作业名='XX作业'
AND c.修改者='TT老师'
GROUP BY s.作业名,c.修改者,date_format(c.修改日期,'%Y-%m-%d')
XX作业-----------TT老师---------7------``````-----2008-8-8
修改多少个问题,是要排除掉重复的
select s.作业名,c.修改者,COUNT(i.ID),date_format(c.修改日期,'%Y-%m-%d')
from changegroup c,issue i,swork s
where c.问题ID=i.ID
AND s.ID=i.所属作业ID
AND s.作业名='XX作业'
AND c.修改者='TT老师'
GROUP BY s.作业名,c.修改者,date_format(c.修改日期,'%Y-%m-%d')
同一天 同一个问题可以出现多次修改记录,但只做1个量来算2008-8-8 问题A 有10条修改记录 问题B有5条 问题C有7条 ,但最终实际只是在这一天修改了3个问题,不是要把修改的总次数统计合
from changegroup c,issue i,swork s
where c.问题ID=i.ID
AND s.ID=i.所属作业ID
AND s.作业名='XX作业'
AND c.修改者='TT老师'
GROUP BY s.作业名,c.修改者,date_format(c.修改日期,'%Y-%m-%d')
呵呵,看了楼主的sql了,我偷个懒,就沿用楼主的sql吧select s.作业名,c.修改者,count(distinct i.ID) as 修改的问题量, date_format(c.修改日期,'%Y-%m-%d') as 新修改日期from changegroup c,issue i,swork s where c.问题ID=i.ID AND s.ID=i.所属作业ID AND s.作业名='XX作业' AND c.修改者='TT老师' group by 新修改日期呵呵,楼主能看明白吗?
group by 里面是否还加其他信息,楼主根据实际需要做吧。