Mysql:获取某元素百分比最高的ID

Mysql: Get the ID where the percentage of certain element is the highest

我是 MYSQL 的新手,我关注 table。目标是 return 工程员工比例最高的部门 ID。

empID   empName     job         deptID  salary
68      Morris      secretary   3       23000
69      Maria       engineer    3       32000
45      Kelly       engineer    7       37000
77      Hergot      engineer    7       28000
66      Hess        technician  7       32000
92      Mays        engineer    7       45000
89      Williams    engineer    12      36000
23      Smith       programmer  13      35000
56      Herr        janitor     13      26000

以下是我的无效代码:

SELECT  deptID
FROM Employee
WHERE job = 'engineer'
GROUP BY deptID 
order by (SELECT COUNT(*) FROM employee WHERE job='engineer')/count(*) DESC

期望的输出是:

deptID
12

因为对于deptID 12,它在一个员工中只有一个工程师,工程师比例最高。

在此先感谢您的帮助。

我认为这是解决方案。感谢您的回答。

SELECT 
    deptID, SUM(job = 'engineer') / COUNT(*) AS perc
FROM
    Employee
GROUP BY deptID
ORDER BY perc DESC
LIMIT 1;

这是一块拼图...

SELECT deptid
     , SUM(job = '?')/?????(*) * 100 pct 
  FROM my_table 
 GROUP BY ??;

假设没有关系那么我们就快完成了,否则还涉及另一个步骤