为什么我的查询结果中的总数不会相加?

时间:2012-08-03 13:13:10

标签: mysql sql

我有三个查询从数据库中获取统计信息,但总数不能正确地为我的结果添加。如果我自己做数学,这就是我得到的:// 440728 / 1128 = 390.72

但是,以下是我的查询返回的内容:

SELECT * FROM facebook_accts
         WHERE user_id IN (SELECT id FROM  `user_accts` WHERE owner_id = '121') 
// returns 1128

SELECT sum(friend_count) FROM facebook_accts
                         WHERE user_id IN
                            (SELECT id FROM  `user_accts` WHERE owner_id = '121') 
// returns 440728

SELECT avg(friend_count) FROM facebook_accts
                         WHERE user_id IN
                            (SELECT id FROM  `user_accts` WHERE owner_id = '121') 
// returns 392.11 (number formatted to two decimal places by php)

2 个答案:

答案 0 :(得分:1)

可能会发生这种情况,因为列friend_count具有一些NULL值,因为SUMAVG阳光会忽略NULL值。见here

答案 1 :(得分:0)

我猜1128行包含NULL值(AVG和SUM忽略)。