UPDATE activities a
JOIN (
    SELECT id, ROW_NUMBER() OVER (
        PARTITION BY day_id
        ORDER BY start_time, end_time, sort_order, title, id
    ) * 10 AS unified_order
    FROM activities
) ordered ON ordered.id = a.id
SET a.sort_order = ordered.unified_order;
