例:表Table结构为日期字段T,INT字段N,文本S.需要查询N的每个不同数值中T最晚的元组.要求同时返回相关记录的S字段.
要求用一个SQL语句完成.在MS SQL Server中测试时, Select MAX(T) As MT, N From Table Group By N 可查得满足条件的记录的T,N字段,但是小生无论如何无法让它它结果中同时列出S字段.SOS~~~~~~~~~

解决方案 »

  1.   

    奇怪不行吗?
    Select MAX(T) As MT, N,S From Table Group By N,S
      

  2.   

    表有key吗?
    有key用Group By 生成新表,和原来的表连。
      

  3.   

    试试下面的语句:Select TT.MT, TT.N, SS.S
    From
    (Select MAX(T) As MT, N From Table Group By N) as TT
    inner join 
    (Select T, N, S From Table) SS
    on TT.MT = SS.T and TT.N = SS.N
      

  4.   

    ???Select * from t1 where t in 
    (Select Max(T) as t from t1 group by n)
      

  5.   

    搞定,感谢!
    XP的方法不行的,条件是是T,N同时相等才行.