You'll need to group the query by the user and the items for a particular day then compare the maximum and minimum values, e.g.
declare @users table (
UserId int,
DateColumn datetime
)
insert into @users values (1, '2008-10-31 15:15')
insert into @users values (1, '2008-10-31 10:30')
insert into @users values (1, '2008-10-30 16:15')
insert into @users values (1, '2008-10-30 10:30')
select
UserID
, cast(dt as datetime) dt
, [in]
, [out]
, case when datepart(hour, [out]-[in]) >= 5 then 'yes' else 'no' end [5Hours?],
, cast(datediff(minute, [in], [out]) as float)/60 [hours]
from (
select
UserID
, convert(varchar, DateColumn, 112) dt
, min(DateColumn) [in]
, max(DateColumn) [out]
from @users
group by
UserID, convert(varchar, DateColumn, 112)
) a