SQL中最大不同值的计数

gh0*_*r18 3 mysql sql

如果已经回答,请原谅我,但使用搜索工具或基本的谷歌查询找不到它.

我试图返回一个值,该值指示SQL中列中任何不同值的最大行数.

例如,我想使用类似的东西

SELECT MAX(COUNT(DISTINCT person_id) AS MAX_NUM_PERS_ROW
FROM mytable
Run Code Online (Sandbox Code Playgroud)

如果表中行数最多的人有5行,则返回的值为5 ...

任何和所有的帮助表示赞赏!

Gor*_*off 6

您可以使用嵌套聚合执行此操作:

select max(cnt)
from (select person_id, count(*) as cnt
      from mytable
      group by person_id
     ) p;
Run Code Online (Sandbox Code Playgroud)

如果你真的想要这个人,你也可以这样做:

select person_id, count(*) as cnt
from mytable
group by person_id
order by count(*) desc
limit 1;
Run Code Online (Sandbox Code Playgroud)