我试图让一个mysql查询返回一个计算结果,但是遇到一些挑战,因为我只能让它返回1值。

http://sqlfiddle.com/#!9/5e9276/1

是否可以获取部门内属于机器人类型的业务代表的总数,然后获取部门内的业务代表总数以计算%?

例:
1个部门中有5个机器人中有4个。 (80%的机器人)

type字段不一定总是具有相同的值,但是至少包含关键字“ robot”或“ human”。

我知道我可以通过编程方式获取%,但想检查是否有一种方法可以直接使用mysql查询来执行此操作。

任何帮助表示赞赏。

谢谢,

最佳答案

也许这就是您想要的:

SELECT
  department,
  SUM(type LIKE '%robot%') robots,
  COUNT(department) total,
  SUM(type LIKE '%robot%') / COUNT(department) robot_percentage
FROM agents
GROUP BY department;


Example SQL Fiddle

要使用百分号格式化robot_percentage,请执行以下操作:

CONCAT(FORMAT( (SUM(type LIKE '%robot%')*100 / COUNT(department)),2),'%') robot_percentage

关于mysql - 如何使用mysql获取总数和子集总数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31763302/

10-13 22:25