问题
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%.
回答1:
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
来源:https://stackoverflow.com/questions/15746749/mysql-calculate-percentage