gpt4 book ai didi

mysql - SQL 选择查询

转载 作者:可可西里 更新时间:2023-11-01 07:06:07 24 4
gpt4 key购买 nike

假设我有一个包含三列的 SQL 表“Company”:“department_id”、“employee”、“job”。像这样:

DEPARTAMENT_ID | EMPLOYEE | JOB
--------------------------------------
1 | Mark | President
1 | Robert | Marketing Manager
1 | Rose | Administration Assitant
2 | Anna | Programmer
2 | Michael | Programmer
2 | Celia | Sales Manager
3 | Jhon | Sales Manager
3 | Donna | Programmer
3 | David | Marketing Manager

我想编写一个查询,返回至少 50% 的工作相同的部门 ID。

在我的例子中我需要的结果是:

DEPARTAMENT_ID |
--------------------------------------
2 |

如何编写此 SQL 查询?我想我尝试了各种各样的东西,但我不明白:(。

最佳答案

这有点棘手。您需要将部门中某项工作的总人数与总人数进行比较。因此,一种方法使用两种聚合:

select department_id
from (select department_id, count(*) as numemp
from t
group by department_id
) d join
(select department_id, max(numemp) as numemp
from (select department_id, job, count(*) as numemp
from t
group by department_id, job
) d
group by department_id
) dj
on d.numemp <= 2 * dj.numemp;

如果您的一个部门恰好分为两个职位,您可能会得到重复的职位。在这种情况下,请使用 select distinct

关于mysql - SQL 选择查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34831419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com