Я пытаюсь найти запрос MySQL, чтобы выбрать последнюю запись из каждого из предыдущих 7 дней. Если в 1 из предыдущих 7 дней отсутствуют данные, я получу только 6 записей. Вот что у меня есть:
SELECT tracking.* FROM tracking
INNER JOIN
(SELECT MAX(lastChecked) AS maxLastChecked, id FROM tracking
WHERE lastChecked >= DATE_SUB(lastChecked, INTERVAL 7 DAY )
GROUP BY DAY(lastChecked)) as Lookup ON Lookup.id = tracking.id
WHERE tracking.propertyID = 1 ORDER BY tracking.lastChecked ASC LIMIT 7
По сути, это то, что нужно сделать, это выбрать последнюю записанную запись для propertyID = 1 в таблице отслеживания для каждого из последних 7 дней (начиная с сегодняшнего дня). Однако этот запрос возвращает это мне (больше чем ТОЛЬКО записей за последние 7 дней):
ID propertyID lastChecked value
2 1 2012-01-25 05:30:00 280
1 1 2012-01-26 12:34:02 268
5 1 2012-01-27 09:51:31 268
83 1 2012-02-13 00:01:07 276
Любая помощь, чтобы исправить это будет принята с благодарностью!