2014-10-08 44 views
3

请原谅我,如果这已被回答,但无法使用搜索工具或基本的谷歌查询找到它。SQL中不同值的最大计数

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

比如我想使用类似

SELECT MAX(COUNT(DISTINCT person_id) AS MAX_NUM_PERS_ROW 
FROM mytable 

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

任何并感谢所有帮助!

回答

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; 
+0

这就是它!谢谢! – gh0strider18 2014-10-08 13:47:49