本帖最后由 assiwe 于 2010-08-23 11:10:13 编辑

解决方案 »

  1.   


    select id,sum(a1) as a1,sum(a2) as a2,
     max(a3)
     from table where rq <@ldate group by id这样?
      

  2.   

    不是, 我要取的是rq最大的那一行的a3数据.
      

  3.   

    select sum(a1) as a1,sum(a2) as a2,
     a3=(select top 1 a3 from [table] where id=a.id order by rq desc)
     from [table] a where rq <@ldate group by id
      

  4.   

    最好给出完整的表结构,测试数据,计算方法和正确结果.发帖注意事项
    http://topic.csdn.net/u/20091130/21/fb718680-98ff-4afb-98d8-cff2f8293ed5.html?24281
      

  5.   

    id是id,a3是另外的列名比如id     a3      rq
     id1       1        2010-1-1
     id2       3        2010-2-1
     id1       3        2010-2-1
     id1       2        2010-3-1得出来的结果应该是id       a3
    id1      2   (2010-3-1的a3)
    id2      3
      

  6.   

    select 
      id,
      sum(a1) as a1,
      sum(a2) as a2,
      (select top 1 a3 from [table] where id=t.id order by rq desc)
    from [table] t
    where rq <@ldate 
    group by id
      

  7.   

    select t.* from tb t where rq = (select max(rq) from tb where id = t.id)select t.* from tb t where not exists (select 1 from tb where id = t.id and rq > t.rq)
      

  8.   

    select sum(a1) as a1,sum(a2) as a2,
     a3
     from table where rq <@ldate and rq =max(rq)group by id
      

  9.   


    select id,sum(a1) as a1,sum(a2) as a2,(select top 1 a3 from [table] as b where [table].id=b.id order by b.rq desc)
     from [table]  where rq <@ldate group by id