Получите последнюю строку, содержащую определенное значение, И все строки, разделяющие это значение в течение определенного промежутка времени

#mysql #sql

Вопрос:

У меня есть таблица, в которой хранятся данные пользователя в различных столбцах. Один важный столбец, очевидно, является идентификатором пользователя, а другой-отметкой времени (с обычным CURRENT_TIMESTAMP , ON UPDATE CURRENT_TIMESTAMP ).

Теперь я хочу получить последнюю запись данного пользователя, а также все остальные записи того же пользователя в течение определенного промежутка времени (обычно неделю), но, будучи относительно новичком в SQL, я немного не понимаю, как выполнять такие временные запросы. Я знаю, что очевидная отправная точка SELECT * FROM table WHERE user=$user_id ORDER BY id DESC LIMIT 1 , но в остальном я не уверен, что нахожусь на правильном пути.

Может ли что-то подобное сработать?

 SELECT * FROM table 
WHERE user = $user_id AND timestamp = 
(SELECT timestamp FROM table WHERE user = $user_id ORDER BY id DESC LIMIT 1)-604800 
GROUP BY user ORDER BY id DESC