2017-05-20 6 views
0

SQLクエリで問題が発生しています。私は複雑なクエリを始めました。問題が見つかったら簡単なクエリで解決しようとしました。 avg関数は機能しません。私はいくつかの投票の平均を計算したい(評価属性はSET Typeであり、可能な値は1,2,3,4,5である)。しかし、avg関数は私には不可能な6.2の結果を与えます。avg関数でMySQLクエリが機能しない

Table

クエリと結果:

Query and resultあなたが思うだろうより

答えて

0

そのは実際にたくさん単純。

最初のステップ:

番号を取得しているすべての行をカウントします。

$first = SELECT COUNT(*) FROM TABLENAME

第二ステップ:ファーストステップでは

デバイド第二ステップ:

すべてあなたがSUM

$second = SELECT SUM(rating) FROM TABLENAME

第三工程で照会されている行を追加!

$third = $second/$first;

Number Format手の込んだ取得したいです。

number_format($third,2)

+2

どのようにということである 'AVG(定格)'よりも簡単? –

0

セットタイプ列のMySQL documentationによると:必要に応じて数値の引数が数値に 引数をキャスト期待するようにSUM()やAVG()など

機能。 SET値の場合、キャスト オペレーションでは、数値が使用されます。

だから、このようなあなたのクエリにCAST関数を適用する必要があります。

SELECT AVG(CAST(rating AS CHAR)) FROM tsn_comments; 
関連する問題