select SourceUserID,SourceGold,SourceBank,SwapScore,ClientIP,CollectDate from master.dbo.RecordInsure a1 where exists (select 1 from master.dbo.RecordInsure a2 where a2.SourceUserID=a1.SourceUserID having max(a2.CollectDate)=a1.CollectDate ) order by SourceBank desc