Sql 获取函数的最大值
我有以下查询来获取员工的不同功能: 与 对于EmployeeId=54,输出如下:Sql 获取函数的最大值,sql,sql-server,Sql,Sql Server,我有以下查询来获取员工的不同功能: 与 对于EmployeeId=54,输出如下: EmployeeId FunctionId Label CompanyName realOrder Primacy 54 273 Group Chief Executive Officer C1 1 primary 54 273 Grou
EmployeeId FunctionId Label CompanyName realOrder Primacy
54 273 Group Chief Executive Officer C1 1 primary
54 273 Group Chief Executive Officer C2 2 secondary
54 273 Group Chief Executive Officer X5 3 secondary
54 897 Group Regional Chief Executive Officer X6 4 secondary
54 897 Group Regional Chief Executive Officer F6 5 secondary
54 39 Director VY 6 secondary
54 39 Director G7 7 secondary
我希望每个员工拥有不同的函数ID的数量,并使员工拥有最大数量的函数,即EmployeeId=54 3个不同的函数。您似乎希望
计数(不同)
:
您似乎想要
count(distinct)
:
GROUP BY
,COUNT(DISTINCT…
,TOP
和ORDER BY
?GROUP BY
,COUNT(DISTINCT…)
,TOP
和ORDER BY
?要获得预期的产出,我用领带移除了顶部(1)并添加了groupby EmployeeId。要获得预期产出,我移除了顶部(1)通过联系并按EmployeeId添加组。
EmployeeId FunctionId Label CompanyName realOrder Primacy
54 273 Group Chief Executive Officer C1 1 primary
54 273 Group Chief Executive Officer C2 2 secondary
54 273 Group Chief Executive Officer X5 3 secondary
54 897 Group Regional Chief Executive Officer X6 4 secondary
54 897 Group Regional Chief Executive Officer F6 5 secondary
54 39 Director VY 6 secondary
54 39 Director G7 7 secondary
select top (1) with ties EmployeeId, count(distinct FunctionId) as num_functions
from employeeScopeFunctions
group by EmployeeId
order by num_functions desc;