если правильно понял задачу, то решить ее можно с помощью UPDATE + JOIN, например так:
UPDATE mytable
RIGHT JOIN
(SELECT
`user`,
MIN(dt) as dt_start,
DATE(dt) as d
FROM mytable
GROUP BY user, d) as temp
ON mytable.user = temp.user AND DATE(mytable.dt) = temp.d
SET mytable.dt_start = temp.dt_start
а вообще для каждой кучи проставлять минимальное значение времени не очень хорошая идея - у Вас будет дублирование данных, т.к. у каждой записи в куче будет одна и та же dt_start. Если у Вас прям так явно вырисовываются кучи стоит сделать отдельную таблицу для их списка, и уже там проставлять минимальное время