比如:
一表里有(Comments)
ID  InfoId Title      AddTimes
1     3    你好    2007-4-29
2     3    Hello   2007-4-30
3     14   China   2007-4-28
4     14   Englist  2007-4-30合并列我现在只要显示出时间是最新的信息
2     3    Hello   2007-4-30
4     14   Englist  2007-4-30执行结果就会是这样.

解决方案 »

  1.   

    select max(AddTimes) as AddTimes,InfoId from Comments group by InfoId
      

  2.   


    select max(id), infold, min(title), max(addtimes) 
    from test
    group by infold
      

  3.   


    上面的不对,改正一下:
    select * from test where id in ( select max(id) from  test group by infold )
      

  4.   

    注意将表名test换成你的表名Comments
      

  5.   

    如果没有规则:就用
    --先取出符合条件的ID
    declare @ID varchar(4000)
    set @ID=''declare @InfoId int
    declare @AddTimes datetime--定义游标
    declare my_cursor cursor for 
    SELECT InfoId,max(AddTimes) as AddTimes FROM [temp] group by InfoId
    open my_cursorfetch next from my_cursor into @InfoId,@AddTimes
    while @@fetch_status=0
    begin select @ID=@ID+convert(varchar,[id])+',' from [temp] where InfoId=@InfoId and AddTimes=@AddTimes
    fetch next from my_cursor into @InfoId,@AddTimesendclose my_cursor
    deallocate my_cursor--去掉最后一个逗号set @ID=left(@ID,len(@ID)-1)declare @SQL varchar(4000)
    set @SQL='select * from [temp] where [id] in ('+@ID+')'
    exec (@SQL)