2014-10-08 46 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