Если вы используете версию MySQL более ранней, чем 8+, и также не хотите использовать переменные сеанса, то коррелированный подзапрос - это один из способов перейти сюда.
SELECT
t1.id,
t1.created_at,
DATEDIFF(t1.created_at,
(SELECT t2.created_at FROM log_file t2
WHERE t2.created_at < t1.created_at
ORDER BY t2.created_at DESC LIMIT 1)) AS diff
FROM log_file t1;
Вы были на правильном пути, но условие WHERE
в вашем подзапросе содержит некорректно добавленное условие:
where t2.id = t.id
Удалите его, и ваш текущий код может даже работать как есть.