Я пытаюсь извлечь все строки из таблицы с меткой времени UNIX за последние 30 дней.
SELECT count(member_id), DATE(FROM_UNIXTIME(`join_date`)) as date
FROM members
WHERE join_date > (join_date-'2592000')
GROUP BY DATE(FROM_UNIXTIME(`join_date`))
ORDER BY join_date DESC
Очевидно, что происходит больше, поскольку он группирует их по дням и конвертирует ихдо времени mysql, но важно то, что предложение where не работает .. Остальное хорошо.
Я не получаю никаких ошибок, но запрос не обрезается, как ожидалось.
РЕДАКТИРОВАТЬ: Понял.
SELECT count(member_id), DATE(FROM_UNIXTIME(`join_date`)) as date
FROM exp_members
WHERE DATEDIFF(CURDATE(), FROM_UNIXTIME(join_date)) < 30
GROUP BY DATE(FROM_UNIXTIME(`join_date`))
ORDER BY join_date DESC