SQLクエリで問題が発生しています。私は複雑なクエリを始めました。問題が見つかったら簡単なクエリで解決しようとしました。 avg関数は機能しません。私はいくつかの投票の平均を計算したい(評価属性はSET Type
であり、可能な値は1,2,3,4,5である)。しかし、avg関数は私には不可能な6.2の結果を与えます。avg関数でMySQLクエリが機能しない
表:
クエリと結果:
SQLクエリで問題が発生しています。私は複雑なクエリを始めました。問題が見つかったら簡単なクエリで解決しようとしました。 avg関数は機能しません。私はいくつかの投票の平均を計算したい(評価属性はSET Type
であり、可能な値は1,2,3,4,5である)。しかし、avg関数は私には不可能な6.2の結果を与えます。avg関数でMySQLクエリが機能しない
表:
クエリと結果:
そのは実際にたくさん単純。
最初のステップ:
番号を取得しているすべての行をカウントします。
$first = SELECT COUNT(*) FROM TABLENAME
第二ステップ:ファーストステップでは
デバイド第二ステップ:
すべてあなたがSUM
$second = SELECT SUM(rating) FROM TABLENAME
第三工程で照会されている行を追加!
$third = $second/$first;
はNumber Format手の込んだ取得したいです。
number_format($third,2)
セットタイプ列のMySQL documentationによると:必要に応じて数値の引数が数値に 引数をキャスト期待するようにSUM()やAVG()など
機能。 SET値の場合、キャスト オペレーションでは、数値が使用されます。
だから、このようなあなたのクエリにCAST
関数を適用する必要があります。
SELECT AVG(CAST(rating AS CHAR)) FROM tsn_comments;
どのようにということである 'AVG(定格)'よりも簡単? –