我需要从sql

问题描述:

中选择一个具有不同值的列我给出了一个表,其中包含各个部门的列和由各种dhdempno组成的另一列。我需要选择一个代表部门负责人的独特dhdempno。一个特定的部门有多个雇员,其中dhdmempno和一个代表部门负责人的独特dhdempno。我应该执行什么查询以获得结果?我需要从sql

Department - dhdempno 
abc   1 
abc   1 
abc   2 
asd   5 
asd   5 
asd   6 

查询应返回

abc 2 
asd 6 
+0

你能解释一下这个结果背后的逻辑吗?你需要'选择一个代表部门头的独特dhdempno'或者'查询应该返回abc-2,asd-6' –

+1

为什么'asd-6'为什么不是'asd-2'? –

+0

您正在使用哪些DBMS? –

试试这个

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; 

enter image description here使用查询像

SELECT DEPARTMENT,DHDEMPNO FROM DEPARTMENT 
GROUP BY DEPARTMENT,DHDEMPNO 
HAVING COUNT(DHDEMPNO)=1 

会给你相应的部门具有独特dhdempono记录

+0

任何意见负面评论将不胜感激。因为它的工作很好。 –

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