如何使用 mysql 获取子集的总数和总数?

how to get total and total of subset using mysql?

我正在尝试 mysql 查询 return 计算结果,但我遇到了一些挑战,因为我只能得到 return 1 个值。

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

是否可以获取部门内机器人类型的座席总数,然后计算部门内座席总数的百分比?

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

类型字段可能不总是具有相同的值,但至少会包含关键字 '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