我的一个SQL查询,我目前的结果如下所有ID  初始值都是1ID---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 把值更改为了6ID 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条记录,有什么关键字 或方法能达到这要求~~?

解决方案 »

  1.   

    你可以在 每天00:00:00 执行 
    delete from tablename where id=6
      

  2.   


    select a.* from tt a left join 
    (select id from tt group by id where newvalue=6) b 
    on a.id=b.id 
    where isnull(b.id)
    存为视图1select a.* from 视图1 a
    inner join
    (select id,max(update) as ma from 视图1 group by id) b
    on a.id=b.id and a.update=b.ma
      

  3.   

    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' 
    再麻烦看看.....................