I have a MySQL database with 4 items: id (numerical), group_name, employees, and surveys.
In my SELECT I need to calculate the percentage of 'employees' who, by the number in 'surveys', have taken the survey.
This is the statement I have now:
SELECT
group_name,
employees,
surveys,
COUNT( surveys ) AS test1,
((COUNT( * ) / ( SELECT COUNT( * ) FROM a_test)) * 100 ) AS percentage
FROM
a_test
GROUP BY
employees
Here is the table as it stands:
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');
I would love to calculate the percentage of employees who by the number in surveys have taken the survey. i.e. as shown in the data above, the Awesome Group A would be 0% and Awesome Group B would be 95%.
解决方案
try this
SELECT group_name, employees, surveys, COUNT( surveys ) AS test1,
concat(round(( surveys/employees * 100 ),2),'%') AS percentage
FROM a_test
GROUP BY employees