select * from table t where (select count(addDATE) from table where catalogid=t.catalogid and infoid>=t.infoid)<=1 order by t.infoid,t.addDATE
select * from 表 A where not exists (select 1 from 表 where catalogid=A.catalogid and adddate>A.adddate)
create table #tblRecord ([infoid] int,catalogid int,rTime datetime) insert into #tblRecord select 1,1,getdate() insert into #tblRecord select 2,3,getdate() insert into #tblRecord select 3,1,getdate()-1 insert into #tblRecord select 4,2,getdate() insert into #tblRecord select 5,2,getdate()-2select catalogid,max(rTime) from #tblRecord group by catalogid
order by t.infoid,t.addDATE
*
from
表 A
where not exists
(select 1 from 表 where catalogid=A.catalogid and adddate>A.adddate)
insert into #tblRecord select 1,1,getdate()
insert into #tblRecord select 2,3,getdate()
insert into #tblRecord select 3,1,getdate()-1
insert into #tblRecord select 4,2,getdate()
insert into #tblRecord select 5,2,getdate()-2select catalogid,max(rTime) from #tblRecord
group by catalogid
为什么还是取出几条重复的记录呢,是一个类别下的