Assuming a table like this
create table test(
rec_id uniqueidentifier
, rec_timestamp timestamp
, pid varchar(max)
, first varchar(max)
, last varchar(max)
, dob date
)
this delete statement should do the trick:
delete lhs
from test lhs
where exists (
select *
from test rhs
where lhs.first=rhs.first
and lhs.last=rhs.last
and lhs.dob=rhs.dob
and lhs.pid=rhs.pid
and rhs.rec_timestamp > lhs.rec_timestamp
)
Good luck!