У меня есть запрос, как это:Почему SUM() возвращает NULL, если ни одна строка не выбрана?
SELECT sum(date_time > unix_timestamp(DATE_SUB(now(), INTERVAL 1 day))) as num_day
FROM mytable
WHERE user_id = :id
SUM()
возвращение NULL
при выборе строки в настоящее время. Я имею в виду, когда :id
не существует в mytable
, результатом num_day
является NULL
. Основываясь на моих потребностях, он не должен быть NULL
. Это должно быть 0
или больше.
В любом случае, как я могу рассчитать количество истинности условия? Вот условие:
date_time > unix_timestamp(DATE_SUB(now(), INTERVAL 1 day))
- Потому что * сумма пустого множества * не определена и/или бессмысленна. – deceze
@deceze Хорошо, что лучший способ получить '0' вместо' null' в этом случае? –