当我运行此查询时它有效
SELECT sum( amount ) AS balance FROM balance WHERE amount >= 100
但是当我想过滤用户 ID 时,它返回 NULL
SELECT sum( amount ) AS balance FROM balance WHERE amount >= 100 AND userid=4
最佳答案
如果没有行,则返回 NULL。如果你想要零,那么使用这个:
SELECT IFNULL(SUM(amount), 0) AS balance
FROM balance
WHERE amount >= 100 AND userid = 4
如果您认为答案应该是 0 或 NULL 以外的值,那么我建议您运行此查询来仔细检查是否至少返回一行并且数据是否正确:
SELECT *
FROM balance
WHERE amount >= 100 AND userid = 4
关于mysql:条件语句问题,大于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3594317/