Maison  >  Article  >  base de données  >  Comment calculer le pourcentage d'employés ayant participé à des enquêtes dans MySQL ?

Comment calculer le pourcentage d'employés ayant participé à des enquêtes dans MySQL ?

DDD
DDDoriginal
2024-10-25 12:41:30514parcourir

How to Calculate the Percentage of Employees Who Participated in Surveys in MySQL?

Calcul du pourcentage dans MySQL

Dans une base de données MySQL contenant des données sur les employés et des enquêtes, un utilisateur a cherché à calculer le pourcentage d'employés ayant participé à enquêtes basées sur le nombre d'enquêtes enregistrées.

La requête d'origine tentait de dériver le pourcentage à l'aide de l'instruction suivante :

SELECT
  group_name,
  employees,
  surveys,
  COUNT( surveys ) AS test1, 
  ((COUNT( * ) / ( SELECT COUNT( * ) FROM a_test)) * 100 ) AS percentage
FROM
  a_test
GROUP BY
  employees

Cependant, cette approche a donné des résultats incorrects. Pour remédier au problème, une requête révisée a été proposée :

   SELECT group_name, employees, surveys, COUNT( surveys ) AS test1, 
        concat(round(( surveys/employees * 100 ),2),'%') AS percentage
    FROM a_test
    GROUP BY employees

Cette requête modifiée intègre les ajustements suivants :

  • Calcul correct : Le pourcentage est désormais calculé comme (enquêtes / employés * 100), fournissant la proportion précise d'employés interrogés.
  • Formatage en pourcentage : Le résultat est formaté sous forme de chaîne de pourcentage à l'aide des fonctions de concatération et d'arrondi pour afficher un arrondi. pourcentage avec deux décimales.

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