Just another option to consider, think of it as food for thought:
with TestData as (
select
PassM,
cast(EnterDt as datetime) EnterDt,
ConsecutiveD
from
(values
('Boo K K','5/1/2012 11:55:00 PM', 1),
('Boo K K','5/2/2012 11:30:00 PM', 2),
('Boo K K','5/4/2012 10:30:00 AM', 1),
('LIAW S','4/30/2012 11:48:52 PM', 1),
('LIAW S','5/1/2012 00:11:07 AM', 2),
('LIAW S','5/1/2012 11:59:07 AM', 2),
('LIAW S','5/1/2012 4:42:02 AM', 2),
('LIAW S','5/2/2012 1:10:09 AM', 3),
('LIAW S','5/2/2012 1:43:06 AM', 3),
('LIAW S','5/4/2012 2:17:47 AM', 1)
)dt(PassM, EnterDt, ConsecutiveD)
)
, UniqueDts as (
select distinct
PassM,
dateadd(dd,datediff(dd,0,EnterDt),0) UniqEnterDt
from
TestData
)
, GrpDates as (
select
PassM,
UniqEnterDt,
GrpDate = dateadd(dd,row_number() over (partition by PassM order by UniqEnterDt) *-1,UniqEnterDt),
rn = row_number() over (partition by PassM order by UniqEnterDt)
from
UniqueDts
)
,ConsecutiveDts as (
select
PassM,
UniqEnterDt,
rn = row_number() over (partition by PassM, GrpDate order by UniqEnterDt)
from
GrpDates
)
select
td.PassM,
td.EnterDt,
cd.rn as CompConsecutiveD,
td.ConsecutiveD
from
TestData td
inner join ConsecutiveDts cd
on (td.PassM = cd.PassM and
dateadd(dd,datediff(dd,0,td.EnterDt),0) = cd.UniqEnterDt);