Я пытаюсь проверить, если список записей имеет datetime
меньше, чем система datetime
, эти записи также должны иметь поле status
, равное 1
или 2
. Я сделал следующее:
SELECT SUM(m2.datetime < NOW() AND m2.status IN (1, 2)) < 0 AS result
FROM `match` m2 WHERE m2.round_id = @round_id GROUP BY m2.round_id
этот запрос не работает в следующем сценарии:
id | datetime | status |
1 2018-11-30 18:00:00 5
2 2018-12-09 13:30:00 5
3 2018-12-15 14:00:00 5
4 2018-12-21 13:30:00 5
5 2019-01-08 17:45:00 1
Как вы можете видеть в приведенном выше списке записей, у меня есть 4 записи со статусом 5
, и у всех этих записей дата меньше текущей системы datetime
. Теперь у меня есть другая запись со статусом, равным 1
, у которой дата и время меньше текущего, поэтому результат запроса должен быть true
, потому что есть запись, у которой status
равно 1
, а также имеют datetime
меньше, чем система datetime
. Почему запрос возвращает false?