select * from( select *, ROW_NUMBER() over (partition by ConsumerID order by ActivityDate desc) as RowNum from ConsumerActivity) x where x.RowNum = 1
declare @SearchDate datetime = '2012-04-01 00:00:00'select * from( select *, ROW_NUMBER() over (partition by ConsumerID order by ActivityDate desc) as RowNum from ConsumerActivity where ActivityDate < @SearchDate) x where x.RowNum = 1
where ActivityDate < dateadd(day, 1, @SearchDate)