2010-12-15 76 views
1

我无法找到正确的mysql函数,但正在尝试查找单个记录在数据库中出现的相对于所有其他记录的最大次数。计数最大次数记录出现在数据库表中

例如:

ID | .... 
================ 
    1 | .... 
    2 | .... 
    2 | .... 
    2 | .... 
    3 | .... 
    3 | .... 

对于我试图达到什么样的查询提供最佳回报是3(1计数1,2数为3,3计数2,使返回的最大计数任何id)。

回答

3

无法直接嵌套,否则您将得到最大分组数。改为嵌套选择。

select max(c) from (
    select 
    count(*) c 
    group by 
    .. whatever ... 
) x 
+0

'COUNT(*)'由分组'id'将返回一个行数等于ID号的数目的。最高会给你最大的。这是你想要的,是吗? – Donnie 2010-12-15 18:20:43

+0

忘记我说的话,我是一个白痴,在我的实际查询中有错误的字段名称。谢谢! – JM4 2010-12-15 18:21:31

1
SELECT MAX(MAX_COUNT) FROM (SELECT COUNT(COLUMN_NAME) AS MAX_COUNT FROM TABLE_NAME GROUP BY COLUMN_NAME)