n00b спрашивающий здесь.Я пытаюсь сделать запрос, который проверяет, была ли самая последняя активность за последние 24 часа.Технически я могу получить желаемый результат, но неравенство в моем заявлении должно быть в противоположном направлении, что будет иметь смысл для меня.Вот мой запрос:
SELECT sqs.registration_id,
MAX(sqs.completed_at) AS 'most recent activity',
DATE_SUB(NOW(), INTERVAL 1 DAY) AS 'one day ago',
'recent activity?' = CASE
WHEN MAX(sqs.completed_at) <
DATE_SUB(NOW(), INTERVAL 1 DAY)
THEN 1
ELSE 0
END
FROM student_quiz_states sqs
WHERE sqs.score = 100
GROUP BY sqs.registration_id
Вот пример результата:
XXXXX 2011-08-02 16:23:53 2011-12-05 00:06:05 0
У этого пользователя не было активности за последние 24 часа, поэтому последнее значение возвращает 0, как я хочук.
Однако это не имеет никакого смысла для меня.Разве инструкция case не должна возвращать 1, так как первая дата-время намного раньше, чем один день назад?Для меня будет иметь смысл, если мои желаемые результаты будут возвращены, когда в моем когда_клаузе содержится> вместо <.</p>
Любые объяснения приветствуются.