2

データベースから統計情報を取得する 3 つのクエリがありますが、結果の合計が正しくありません。自分で計算すると、次のようになります。 // 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)
4

2 に答える 2

1

これは、サンクションが値を無視するため、列friend_countにいくつかのNULL値があるために発生している可能性があります。ここを参照してください。SUMAVGNULL

于 2012-08-03T13:22:55.500 に答える
0

1128 行には NULL 値が含まれていると思います (AVG と SUM は無視します)。

于 2012-08-03T13:20:41.047 に答える