SQL中最大不同值的计数

时间:2014-10-08 13:34:09

标签: mysql sql

如果已经回答,请原谅我,但是使用搜索工具或基本的Google查询无法找到它。

我正在尝试返回一个值,该值指示SQL中列中任何不同值的最大行数。

例如,我想使用像

这样的东西
SELECT MAX(COUNT(DISTINCT person_id) AS MAX_NUM_PERS_ROW
FROM mytable

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

感谢任何和所有帮助!

1 个答案:

答案 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;