Maison  >  Article  >  base de données  >  Comment calculer le pourcentage d'employés qui ont répondu à une enquête dans MySQL ?

Comment calculer le pourcentage d'employés qui ont répondu à une enquête dans MySQL ?

DDD
DDDoriginal
2024-10-26 16:23:02659parcourir

How to Calculate the Percentage of Employees Who Took a Survey in MySQL?

Calcul du pourcentage dans MySQL

Lorsque vous travaillez avec une base de données MySQL, vous pouvez rencontrer le besoin de calculer des pourcentages en fonction de certaines valeurs. L'un de ces scénarios consiste à déterminer le pourcentage de membres d'un groupe qui ont répondu à une enquête.

Énoncé du problème

Considérez la table de base de données MySQL suivante nommée "a_test" avec quatre colonnes : "id", "group_name", "employees" et "surveys". L'objectif est de calculer le pourcentage d'employés qui ont participé à l'enquête en fonction du nombre d'enquêtes répondues.

Instruction SQL fournie

L'instruction SQL suivante a été a tenté de résoudre ce problème :

<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>

Solution révisée

Pour calculer avec précision le pourcentage d'employés qui ont répondu à l'enquête, l'instruction SQL révisée suivante est fournie :

<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>

Explication

  • arrondi arrondit le pourcentage à deux décimales.
  • concat combine le pourcentage avec le symbole de pourcentage (' %').

Cela garantit que le résultat est affiché sous forme de pourcentage avec le nombre correct de décimales.

Exemples de données et de sortie

En utilisant les exemples de données suivants dans la table « 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>

L'instruction SQL révisée produit le résultat suivant :

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%

Comme le montre le résultat, le pourcentage des salariés ayant répondu à l’enquête est calculé correctement. Awesome Group B a une participation de 95 %, tandis que Awesome Group C a une participation de 96,67 %.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn