这可能是一个简单的问题,但基本上我想在 SQL SERVER 中进行实验时仅选择出现次数最多的行。 我有一个生成以下数据的查询:
SELECT [JOB ROLE], [CITY], COUNT(DISTINCT([EMPLOYEE_ID])) as [COUNT]
FROM MyTable
GROUP BY [JOB ROLE], [CITY]
我希望达到以下结果,以仅选择 EMPLOYEE_ID 的 COUNT DISTINCT 为 MAX 的行:
提前非常感谢您提供的有关如何最简单地到达这里的帮助和建议!
最佳答案
如果您不关心关系,可以使用 FIRST_VALUE() 窗口函数来实现:
SELECT DISTINCT [JOB ROLE],
FIRST_VALUE([CITY]) OVER (PARTITION BY [JOB ROLE] ORDER BY COUNT(DISTINCT([EMPLOYEE_ID])) DESC)
FROM MyTable
GROUP BY [JOB ROLE], [CITY]
关于sql - 如何选择 COUNT DISTINCT 为 MAX 的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64971175/