#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