我试图让mysql查询返回计算结果,但是我遇到了一些挑战,因为我只能让它返回1个值。
http://sqlfiddle.com/#!9/5e9276/1
是否可以获得部门内机器人类型的代理的总计数,然后部门内的代理总数来计算%?
例如: 第1部门,有5个机器人中的4个。 (80%机器人)
类型字段可能并不总是具有相同的值,但至少包含关键字' robot'或者'人类'。
我知道我可以通过编程方式获取%,但是想要检查是否有办法直接使用mysql查询。
感谢任何帮助。
谢谢,
答案 0 :(得分:1)
也许这就是你想要的:
SELECT
department,
SUM(type LIKE '%robot%') robots,
COUNT(department) total,
SUM(type LIKE '%robot%') / COUNT(department) robot_percentage
FROM agents
GROUP BY department;
要使用百分号格式化robot_percentage
,请执行以下操作:
CONCAT(FORMAT( (SUM(type LIKE '%robot%')*100 / COUNT(department)),2),'%') robot_percentage