我需要从sql
问题描述:
中选择一个具有不同值的列我给出了一个表,其中包含各个部门的列和由各种dhdempno
组成的另一列。我需要选择一个代表部门负责人的独特dhdempno
。一个特定的部门有多个雇员,其中dhdmempno
和一个代表部门负责人的独特dhdempno
。我应该执行什么查询以获得结果?我需要从sql
例
Department - dhdempno
abc 1
abc 1
abc 2
asd 5
asd 5
asd 6
查询应返回
abc 2
asd 6
答
试试这个
select departmentid, count(distinct dhdempno) as counting from your_table
group by departmentid
答
这里是它会给你正在寻求结果的查询。
select Department, dhdempno
from (
SELECT Department, dhdempno, count(dhdempno) as counts
FROM <your_table_name>
group by Department, dhdempno) as sub
where counts = 1;
答
SELECT DepartmentId, MAX(dhdempno)
FROM [Table-name]
GROUP BY DepartmentId
答
select [Department],[dhdempno] from [dbo].[Your_Table_Name] where [dhdempno] in (select [dhdempno] from [dbo].[Your_Table_Name] group by [dhdempno] having count(*) = 1)
答
使用下面的查询:
select s.Department, max(s.dhdempno)as dhdempno from
(
SELECT DISTINCT DEPARTMENT, dhdempno FROM DUMMY
) s group by s.Department
你能解释一下这个结果背后的逻辑吗?你需要'选择一个代表部门头的独特dhdempno'或者'查询应该返回abc-2,asd-6' –
为什么'asd-6'为什么不是'asd-2'? –
您正在使用哪些DBMS? –