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%.
Use Two Columns to Calculate Percentage in MySQL We calculate the percentage by dividing the SurveysCount by EmployeesCount and multiplying by 100. We use the round() function to round it for two decimal places to make it more readable.
SQL Percent To Total To calculate percent to total in SQL, we need to first calculate the total, and then we divide each individual value by the total to find the percentage.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With