SQL中MAX和COUNT如何混合使用

先对cno列进行分组,再计算不同组的个数,最后求出最大的那个个数。我试过MAX(COUNT(cno))这样写是不对的,报错是表达始终不能出现聚合函数,请问应该怎么样实现

我在sql server 2005中试了一下这样是可以的。首先是创建一个试图。然后通过视图再来筛选如下:

select * from commodityInfo;

create view com_cou as select count (c.commodityName) as cou from commodityInfo c group by c.shopId;

select max(cou) from com_cou ;

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-28
先分组取出count值, 再将count值倒序排列,取第一个值就是最大的

select top 1 * from(
select count(cno) a from 表
group by 字段
) b
order by a desc
第2个回答  2009-10-27
哈这个SQL可以满足你所需要的功能:
SELECT MAX(Expr1) AS Expr2
FROM (SELECT COUNT(*) AS Expr1
FROM 表
GROUP BY cno) DERIVEDTBL
第3个回答  推荐于2018-03-07
select max(c) from (select count(cno) as c from table group by cno)a group by c本回答被提问者和网友采纳
第4个回答  2009-10-28
select cno,max(num) from (select cno,count(*) as num from tablename
group by cno)
相似回答