我有这样的查询:为什么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'的最佳方式是什么? –