我的一个SQL查询,我的SQL 查询后的结果如下所有ID 初始值都是1 ID---newvalue----update
1-------5---------2008-9-10 10:10:50
1-------6---------2008-9-10 19:10:50
2-------2---------2008-9-10 12:19:59
3-------4---------2008-9-10 15:10:10
3-------5---------2008-9-10 20:08:40
ID 1在19:10:50 把值更改为了6 ID 2只改了一次 ID 3在20:08:40 把值更改为了5
我想最终查出的效果是同一个ID 在 当天 最后 一次修改只要是6 那就把这个ID排除,同时只查出ID最后一次修改的值 那最终效果应该是
2------2-----2008-9-10 12:19:59
3------5-----2008-9-10 20:08:40
就这么2条记录,有什么关键字 或方法能达到这要求~~?
issue:
ID---KEY---createtime---updatetime----所属作业ID
1----k1----2008/8/7-----2008/8/7------zy4
2----k2----2008/8/7-----2008/8/7------zy4
3----k3----2008/8/7-----2008/8/7------zy4
4----k4----2008/8/7-----2008/8/7------zy3
13----k4----2008/8/7-----2008/8/7------zy4
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-------1----------TT老师 --------2008-8-8 08:15:08
1002-------2----------TT老师 --------2008-8-8 09:50:01
1003-------3----------TT老师 --------2008-8-8 10:23:59
1004-------13----------QQ老师 --------2008-8-8 15:10:18
changeitem:
ID--------groupid-----------field-------oldvalue---------newvalue
1----------1001---------------A------------1---------------4
2----------1001---------------B------------TT--------------TR
3----------1002---------------A------------1---------------6
4----------1003---------------A------------1---------------3
5----------1003---------------A------------3---------------2
6----------1004---------------A------------1---------------5
我的SQL select i.ID,m.newvalue,c.修改时间 from issue i,changeitem m,changegroup p,swork s where m.field='A' AND p.ID=m.groupid AND s.ID=i.所属作业ID AND i.ID=p.问题ID AND s.作业名称='OO作业' AND date_format(c.修改时间,'%Y-%m-%e')='2008-8-8'
再麻烦看看.....................
1-------5---------2008-9-10 10:10:50
1-------6---------2008-9-10 19:10:50
2-------2---------2008-9-10 12:19:59
3-------4---------2008-9-10 15:10:10
3-------5---------2008-9-10 20:08:40
ID 1在19:10:50 把值更改为了6 ID 2只改了一次 ID 3在20:08:40 把值更改为了5
我想最终查出的效果是同一个ID 在 当天 最后 一次修改只要是6 那就把这个ID排除,同时只查出ID最后一次修改的值 那最终效果应该是
2------2-----2008-9-10 12:19:59
3------5-----2008-9-10 20:08:40
就这么2条记录,有什么关键字 或方法能达到这要求~~?
issue:
ID---KEY---createtime---updatetime----所属作业ID
1----k1----2008/8/7-----2008/8/7------zy4
2----k2----2008/8/7-----2008/8/7------zy4
3----k3----2008/8/7-----2008/8/7------zy4
4----k4----2008/8/7-----2008/8/7------zy3
13----k4----2008/8/7-----2008/8/7------zy4
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-------1----------TT老师 --------2008-8-8 08:15:08
1002-------2----------TT老师 --------2008-8-8 09:50:01
1003-------3----------TT老师 --------2008-8-8 10:23:59
1004-------13----------QQ老师 --------2008-8-8 15:10:18
changeitem:
ID--------groupid-----------field-------oldvalue---------newvalue
1----------1001---------------A------------1---------------4
2----------1001---------------B------------TT--------------TR
3----------1002---------------A------------1---------------6
4----------1003---------------A------------1---------------3
5----------1003---------------A------------3---------------2
6----------1004---------------A------------1---------------5
我的SQL select i.ID,m.newvalue,c.修改时间 from issue i,changeitem m,changegroup p,swork s where m.field='A' AND p.ID=m.groupid AND s.ID=i.所属作业ID AND i.ID=p.问题ID AND s.作业名称='OO作业' AND date_format(c.修改时间,'%Y-%m-%e')='2008-8-8'
再麻烦看看.....................
解决方案 »
- mysql 删除数据空洞问题,谢谢
- 编码求助
- MySQL有没有简单的实现 LIKE '%关键字%' 的方法?(不用支持通配符)
- 初次用mysql遇到问题大家帮忙看看?
- mysql 安装包问题
- 过程编译成功 但是在CALL P1()时 屏幕白了 没有反应怎么回事?
- 除了MYSQL以外还有其他免费的数据库吗?
- MYSQL在创建用户的问题
- mysql忘了创建database了 脚本执行后建的表去哪了?
- 两台电脑win7/10,同一版本数据库,同一个查询语句,同样的索引,查询时间前者22秒,后者1秒
- 最近刚看mysql,对于产生无重复编号算法有个想法,我用伪码表示,各位看看执行效率和空间存储效率怎么样
- 主从同步问题
而且我感觉你给出的解决方法是把我给出的结果当成一张表来查询了你是数据流的........相关表我都给你模拟出来了 最下面是我查出开头结果的SQL
ID---newvalue----update
1-------5---------2008-9-10 10:10:50
1-------6---------2008-9-10 19:10:50
2-------2---------2008-9-10 12:19:59
3-------4---------2008-9-10 15:10:10
3-------5---------2008-9-10 20:08:40 当成表了,你可以生成视图,再用上个帖子我的方法试试