忽略null(空)值mysql SELECT AVG

时间:2014-04-02 16:00:46

标签: php mysql sql

我有一个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)。 有没有办法做到这一点?

3 个答案:

答案 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;