Как я могу получить топ X сообщений за прошедшую неделю? У меня есть две таблицы: td_table - содержит информацию о записи; voice_table - содержит информацию о результатах голосования за сообщения. Следующее дает мне три лучших поста (те, за которых больше всего голосов), но это дает мне три лучших за все время.
$query = 'SELECT t.id, t.content, t.userid, t.time FROM tb_table t,
(SELECT *, count(*) AS num FROM vote_table GROUP BY voted_id ORDER BY num desc) u
WHERE u.vote_id=t.id LIMIT 3';
Я пытался использовать что-то вроде этого:
SELECT * FROM vote_table WHERE t.time > date_sub(date(now()), interval 7 day)
Но всякий раз, когда я добавляю условие WHERE такого рода в вышеупомянутый запрос, оно либо умирает (если я добавляю его в select из voice_table), либо загружает пустую страницу (если это и условие AND последнего условия where)
Итак ... как я могу их объединить? Вызовите всю информацию из запроса, но только те voted_ids, которые были сделаны за последнюю неделю?