Name            DateTime
----------------------------------
a               2006-12-15 8:00:00
b               2006-12-15 9:00:00
c               2006-12-15 10:00:00
d               2006-12-15 9:00:00
e               2006-12-15 4:00:00查询最早时间和最晚时间,有下面的结果:
Name            DateTime
----------------------------------
c               2006-12-15 10:00:00
e               2006-12-15 4:00:00

解决方案 »

  1.   

    select  NAME,MAX(DAteTime) FROM Table1
    Union ALL
    select NAME ,MIN(DateTime) From Table1
      

  2.   

    select * from tablename t1
    where no exists(select 1 from tablename where name = t1.name and datetime < t1.datetime)
       or no exists(select 1 from tablename where name = t1.name and datetime > t1.datetime)
      

  3.   

    create table T(Name char(1) ,[DateTime] datetime)
    insert T select 'a',               '2006-12-15 8:00:00'
    union all select 'b',               '2006-12-15 9:00:00'
    union all select 'c',              '2006-12-15 10:00:00'
    union all select 'd',               '2006-12-15 9:00:00'
    union all select 'e',              '2006-12-15 4:00:00'
    select * from T 
    where [DateTime] in
    (select min([Datetime]) from T
     union 
    select max([Datetime]) from T)Name DateTime                                               
    ---- ------------------------------------------------------ 
    c    2006-12-15 10:00:00.000
    e    2006-12-15 04:00:00.000(2 row(s) affected)