MySQL计算百分比

问题描述:

我有一个MySQL数据库有4项:id(数值),group_name,employeessurveysMySQL计算百分比

在我的SELECT中,我需要计算“调查”中的“员工”数量占调查总数的百分比。

这是发言。我现在有:

​​

下面是表,因为它主张:

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

我很想在surveys已经数谁计算的employees百分比接受调查。即如上述数据所示,Awesome Group A将为0%,并且Awesome Group B将为95%。

+0

这'集团BY'做法不应该被使用。这是非标准的,会产生不希望的结果。 – Kermit

+0

示例数据和您希望的reslut可能? –

+0

下面是表格:'INSERT INTO'a_test'('id','group_name','employees','surveys')值 (1,'Awesome Group A','100','0' ), (2,'Awesome Group B','200','190'), (3,'Awesome Group C','300','290');我很乐意根据“调查”中的人数调查了“雇员”的比例。如上面的真棒组A将是0%,真棒组B将是95% – user2232709

试试这个

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

+0

@ user2232709编辑了我的答案 –

+0

如何在此处使用列别名?就像我正在计算像employees_type1 + employees_type2 AS员工那样的员工价值,那么是否有可能在concat函数中使用员工别名? –

+0

不,您必须使用连接或子查询。 –