согласился с @Mureinik на использование группы, но я думаю, что user_id и имя также должны включать в группу и использовать union all для объединения обоих результатов
select distinct UserID,Name, date,Time from
(
SELECT UserID,Name, date, MIN(time) as Time
FROM mytable
GROUP BY date,UserID,Name
union all
SELECT UserID,Name, date, MAX(time) as Time
FROM mytable
GROUP BY date,UserID,Name
) as T