如果已经回答,请原谅我,但是使用搜索工具或基本的Google查询无法找到它。
我正在尝试返回一个值,该值指示SQL中列中任何不同值的最大行数。
例如,我想使用像
这样的东西SELECT MAX(COUNT(DISTINCT person_id) AS MAX_NUM_PERS_ROW
FROM mytable
如果表中行数最多的人有5行,则返回的值为5 ...
感谢任何和所有帮助!
答案 0 :(得分:6)
您可以使用嵌套聚合执行此操作:
select max(cnt)
from (select person_id, count(*) as cnt
from mytable
group by person_id
) p;
如果你真的想要这个人,你也可以这样做:
select person_id, count(*) as cnt
from mytable
group by person_id
order by count(*) desc
limit 1;