作业表:
ID---KEY---作业名称---布置者
zy1--k5----XX作业----XX老师
zy2--k6----SS作业----TT老师
zy3--k7----JJ作业----QQ老师
zy4--k8----OO作业----UU老师
问题表:
ID---KEY----所属作业ID---createtime---updatetime
1----k1------zy1---------2008/8/7-----2008/8/7
2----k2------zy1---------2008/8/7-----2008/8/7
3----k3------zy2---------2008/8/7-----2008/8/7
4----k4------zy3---------2008/8/7-----2008/8/7
修改记录表:
ID---问题id-----修改者----修改日期
1------4--------张三-----2009/7/7
2------4--------张三-----2009/8/7
3------4--------王五-----2010/7/7
4------4--------张三-----2009/7/7
5------5--------张三-----2009/7/7 ※一个人可修改多个问题,可重复修改同个问题多次
查出下面的效果: 1.
作业key---作业name------- 日期------- 问题量
key ----我给的作业名----我给的日期-----问题量
2.
作业name---修改者----修改日期----修改过的问题总量
SS作业------张三----我给的日期--------4--- 我给的日期:可能只有年份或者年月,或者年月日 成了 第2天再加100分 = = 拜托了
ID---KEY---作业名称---布置者
zy1--k5----XX作业----XX老师
zy2--k6----SS作业----TT老师
zy3--k7----JJ作业----QQ老师
zy4--k8----OO作业----UU老师
问题表:
ID---KEY----所属作业ID---createtime---updatetime
1----k1------zy1---------2008/8/7-----2008/8/7
2----k2------zy1---------2008/8/7-----2008/8/7
3----k3------zy2---------2008/8/7-----2008/8/7
4----k4------zy3---------2008/8/7-----2008/8/7
修改记录表:
ID---问题id-----修改者----修改日期
1------4--------张三-----2009/7/7
2------4--------张三-----2009/8/7
3------4--------王五-----2010/7/7
4------4--------张三-----2009/7/7
5------5--------张三-----2009/7/7 ※一个人可修改多个问题,可重复修改同个问题多次
查出下面的效果: 1.
作业key---作业name------- 日期------- 问题量
key ----我给的作业名----我给的日期-----问题量
2.
作业name---修改者----修改日期----修改过的问题总量
SS作业------张三----我给的日期--------4--- 我给的日期:可能只有年份或者年月,或者年月日 成了 第2天再加100分 = = 拜托了
select a.key,a.作业名称,b.count(b.所属作业ID) from 作业表 a
inner join 问题表 b on a.ID=b.所属作业ID
group by a.key,a.作业名称
ID---KEY----所属作业KEY---createtime---updatetime
作业表 key->问题表 所属作业KEY问题表 KEY->修改记录表 问题id
是这样吗?
ID---KEY---作业名称---布置者
zy1--k5----XX作业----XX老师
zy2--k6----SS作业----TT老师
zy3--k7----JJ作业----QQ老师
zy4--k8----OO作业----UU老师
问题表:
ID---KEY----所属作业KEY---createtime---updatetime
1----k1------zy1---------2008/8/7-----2008/8/7
2----k2------zy1---------2008/8/7-----2008/8/7
3----k3------zy2---------2008/8/7-----2008/8/7
4----k4------zy3---------2008/8/7-----2008/8/7
修改记录表:
ID---问题id-----修改者----修改日期
1------4--------张三-----2009/7/7
2------4--------张三-----2009/8/7
3------4--------王五-----2010/7/7
4------4--------张三-----2009/7/7
5------5--------张三-----2009/7/7
问题表的“所属作业KEY”来自作业表的“作业KEY” 修改表的“问题id”来自问题表的ID
参考语句:
select a.作业KEY,a.作业名,date_format(b.问题创建日期,'%y-%c-%e'),count(问题ID) from 作业表 a left join 问题表 b on a.作业KEY=b.所属作业KEY group by a.作业key,a作业名,date_format(b.问题创建日期,'%y-%c-%e') having a.作业名='我给出的作业名' 这样查询出来的是我给出的作业名,所有创建问题那一日分别有多少问题量
作业KEY--------作业名----------------日期----------------数量
123-----------我给的作业名---------2008-7-7-------------5
123-----------我给的作业名---------2008-8-7-------------50
123-----------我给的作业名---------2019-7-7-------------15
我要的结果与这个不同的是 作业名和日期都是我给出的
与 问题表 table2:(ID---KEY----所属作业ID---createtime---updatetime) 关联,依靠 所属作业ID
sql = select table1.key ,table1.name,table2.createtime ,COUNT(*) AS Expr1 from table1,table2 where table1.Id=table2.table1Id group by table1.key ,table1.name,table2.createtime ; 和你要的结果是一样的~~~也许不够精简~~可以根据这个思路修改,或者自己再优化出更好的语句第2个问题和第一个是类似的,只是关联的表换成了表二和表3,但方法是一样的 2表链接 分组 统计
我要的结果与这个不同的是 作业名和日期都是我给出的 加入条件不行?select a.作业KEY,a.作业名,date_format(b.问题创建日期,'%y-%c-%e'),count(问题ID)from 作业表 a left join 问题表 bon a.作业KEY=b.所属作业KEY where a.作业名='我给出的作业名'
and date_format(b.问题创建日期,'%y-%c-%e')=我给出的日期group by a.作业key,a作业名,date_format(b.问题创建日期,'%y-%c-%e')