我如何获得最大计数的详细信息?

How do i get the details of the max of a count?

我有一个 table:

|eid   |ManagerID|Phone#|(other details..|
|------|---------|------|----------------|
|1001  |1004     |12345 |.........       |
|1002  |1004     |1233  |.........       |
|1003  |1006     |133   |.........       |
|1004  |         |444   |.........       |
|1005  |1004     |555   |.........       |
|1006  |         |666   |.........       |

等等

我正在尝试显示管理最多员工的经理的所有字段。

我有

SELECT *
FROM EMPLOYEE 
GROUP BY Manager
HAVING COUNT (Manager)=(
SELECT MAX(theCount) AS theCount
FROM (
SELECT Manager, COUNT(Manager) theCount
FROM EMPLOYEE
GROUP BY Manager));

但不断出现错误:

Incorrect syntax near ')'.

我不知道为什么。

我知道这部分可以提供 table managerIDs 的计数:

SELECT Manager, COUNT(Manager) 
AS theCount 
FROM EMPLOYEE 
GROUP BY Manager

你可以试试下面的-

DEMO

select * from
(
select managerid,count(*) as cnt,row_number() over(order by count(*) desc)
as rn
from
employee where managerid is not null
group by managerid
)A where rn=1

输出:

managerid   cnt rn
1004         3  1
WITH managers AS (
SELECT
  ManagerID,
  count(eid) as directs_count
FROM employee
GROUP BY ManagerID
)
SELECT *
FROM employee
WHERE
  eid in (SELECT TOP 1 ManagerID FROM managers ORDER BY directs_count DESC)