求条SQL查询语句

id   name  number time
1    张三    2    2005-1-2
2    李四    2    2006-2-3
3    张三    2    2007-3-5
4    王五    7    2008-4-6
5    王五    2    2009-5-7
6    李四    2    2010-6-8要求查询所有 number =2 以及 time 最大,如下结果   
     张三  2 2007-3-5
     王五  2 2009-5-7
     李四  2 2010-6-8

解决方案 »

  1.   

    select name ,number, max(time) time from tb where number = 2 group by name ,number
      

  2.   

    create table tb(id int,name varchar(10),number int,time datetime)
    insert into tb values(1 ,'张三', 2 ,'2005-1-2')
    insert into tb values(2 ,'李四', 2 ,'2006-2-3')
    insert into tb values(3 ,'张三', 2 ,'2007-3-5')
    insert into tb values(4 ,'王五', 7 ,'2008-4-6')
    insert into tb values(5 ,'王五', 2 ,'2009-5-7')
    insert into tb values(6 ,'李四', 2 ,'2010-6-8')
    goselect name ,number, max(time) time from tb where number = 2 group by name ,numberdrop table tb/*
    name       number      time                                                   
    ---------- ----------- ------------------------------------------------------ 
    李四         2           2010-06-08 00:00:00.000
    王五         2           2009-05-07 00:00:00.000
    张三         2           2007-03-05 00:00:00.000(所影响的行数为 3 行)
    */