MySQL Calculer Le Pourcentage D'

J'ai une base de données MySQL avec 4 éléments: id (numérique), group_name, employees, et surveys.

Dans mon SELECT j'ai besoin de calculer le pourcentage de salariés qui, par le nombre dans "enquêtes", ont participé au sondage.

C'est la déclaration que j'ai maintenant:

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

Voici le tableau tel qu'il est:

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');

J'aimerais calculer le pourcentage de employees qui, par le nombre de surveys ont participé au sondage. c'est à dire, comme indiqué dans les données ci-dessus, le Awesome Group A serait de 0% et Awesome Group B serait de 95%.

  • Cette GROUP BY pratique ne devrait pas être utilisé. Il est non-standard, et de produire des résultats indésirables.
  • les données de l'échantillon et votre souhaite reslut peut-être ?
  • Voici le tableau tel qu'il est: 'INSERT INTO a_test (id, group_name, employees, surveys) values (1, 'Awesome Groupe A', '100', '0'), (2, 'Génial le Groupe B', '200', '190'), (3, 'Génial Groupe C', '300', '290');' J'aimerais calculez le pourcentage de salariés qui, par le nombre dans "enquêtes" ont participé au sondage. IE comme ci-dessus, le Génial Groupe serait de 0% et Génial Groupe B, 95%
  • Veuillez noter que vous pouvez modifier la question pour ajouter de nouveaux détails. Code dans les commentaires est illisible.
  • Pourquoi est GROUPE PAR mauvais?
  • MySQL choisit les champs à GROUP BY comme il se sent. Toutes les autres plates-formes exiger des non-agrégées champs dans la SELECT apparaissent dans la GROUP BY. MySQL ne pas se conformer à cette norme.
  • Juste pour ajouter que ce n'est pas les champs qu'il choisit comme il le sent, c'est la valeur de la non-groupe de champs qu'il choisit d'afficher. En 5,8 (peut-être de 5,7 trop) le comportement est maintenant compatible avec d'autres bases de données. Le non-standard de comportement a été utile, mais dangereux si vous étiez en s'appuyant sur elle.

InformationsquelleAutor user2232709 | 2013-04-01