我使用的是MS SQL Server。
我有一张员工表,我需要重新安排一些员工,让他们一起工作。基本上,我想换我的部门,它在一个地方是专家。因此,如果IT部门有java专家在不同的地方工作,他们需要被购买到一个地方
我需要知道一个部门在2个地点有相同专家的名单
我的员工表有4列
- ID
- 部门
- 专业化
- 位置
Id | 部门 | 专家地点 | |
---|---|---|---|
100 | IT | Java Lang | 伦敦 |
110 | IT | Java Lang伦敦||
125 | IT | Java Lang | 巴黎 |
128 | IT | Java Lang | 巴黎 |
130 | IT | Java Lang | 巴黎 |
135 | IT | >Python | 印度|
140 | IT | >Python | 印度|
145 | 账户 | 审计伦敦 | |
150 | 账户 | 审计 | 伦敦|
150 | 账户 | 审计 | 伦敦
您可以使用此的窗口计数
SELECT
t.Dept,
t.Specialist,
t.Location
FROM (
SELECT
t.Dept,
t.Specialist,
t.Location,
COUNT(*) OVER (PARTITION BY t.Dept, t.Specialist) count
FROM YourTable t
GROUP BY
t.Dept,
t.Specialist,
t.Location
) t
WHERE t.count > 1;
db<gt;小提琴