MySQL でのパーセンテージの計算
MySQL データベースを使用する場合、特定の値に基づいてパーセンテージを計算する必要が生じる場合があります。そのようなシナリオの 1 つは、アンケートに回答したグループ内のメンバーの割合を決定することです。
問題ステートメント
次の「a_test」という名前の MySQL データベース テーブルに 4 つのテーブルがあるとします。列: 「id」、「group_name」、「employees」、および「surveys」。目標は、回答したアンケートの数に基づいて、アンケートに参加した従業員の割合を計算することです。
提供された SQL ステートメント
次の SQL ステートメントは、この問題の解決を試みました:
<code class="sql">SELECT group_name, employees, surveys, COUNT( surveys ) AS test1, ((COUNT( * ) / ( SELECT COUNT( * ) FROM a_test)) * 100 ) AS percentage FROM a_test GROUP BY employees</code>
修正された解決策
アンケートに回答した従業員の割合を正確に計算するために、次の修正された SQL ステートメントが提供されています。
<code class="sql">SELECT group_name, employees, surveys, COUNT( surveys ) AS test1, concat(round(( surveys/employees * 100 ),2),'%') AS percentage FROM a_test GROUP BY employees</code>
説明
これにより、結果が正しい小数点以下の桁数でパーセンテージとして表示されます。
サンプル データと出力
「a_test」テーブルで次のサンプル データを使用すると:
<code class="sql">INSERT INTO a_test (id, group_name, employees, surveys) VALUES (1, 'Awesome Group A', '100', '0'), (2, 'Awesome Group B', '200', '190'), (3, 'Awesome Group C', '300', '290');</code>
修正された SQL ステートメントは次の出力を生成します:
group_name | employees | surveys | percentage |
---|---|---|---|
Awesome Group A | 100 | 0 | 0.00% |
Awesome Group B | 200 | 190 | 95.00% |
Awesome Group C | 300 | 290 | 96.67% |
出力から明らかなように、パーセンテージはアンケートに回答した従業員の割合は正しく計算されます。 Awesome Group B の参加率は 95%、Awesome Group C の参加率は 96.67% です。
以上がMySQL でアンケートに回答した従業員の割合を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。