我有一个php表,它从mysql表中计算AVG。 我的问题是,当我的数据库表上有一个空值(空字段)时,它被计为0值,因此avg结果将是错误的。 例如,我在我的桌子上有这个:
userID question1
1 NULL
2 7
当我创建一个SELECT AVG(question1)from table
我得到:3,5
作为结果(它需要0和7作为值)这是错误的,因为用户1还没有回答question1
,我想要忽略空值以获得AVG结果= 7(仅取值为7)。
有没有办法做到这一点?
答案 0 :(得分:1)
你试过了吗?
SELECT AVG(question1)
FROM table
WHERE
question1 IS NOT NULL
答案 1 :(得分:1)
将以下内容添加到查询中:
WHERE question1 IS NOT NULL
答案 2 :(得分:0)
尝试过滤SQL查询以仅选择值不为空的位置
SELECT AVG(question1) FROM ... WHERE question1 IS NOT NULL;