user2232709 user2232709 - 4 months ago 27
MySQL Question

MySQL Calculate Percentage

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

Answer

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

DEMO HERE

Comments