You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL执行GROUP BY子句后如何获取count统计列的最大值

方案1:仅获取最大值数值

将你现有GROUP BY的查询作为子查询,外层套MAX函数即可:

SELECT MAX(`count`) AS max_customer_count
FROM (
    SELECT COUNT(*) AS `count`, store_id 
    FROM sakila.customer
    GROUP BY store_id
) AS store_stat;

执行后会直接返回count列的最大值326。

方案2:同时获取最大值和对应的store_id

如果需要拿到最大值对应的门店ID,直接对分组结果排序后取第一条即可:

SELECT COUNT(*) AS `count`, store_id 
FROM sakila.customer
GROUP BY store_id
ORDER BY `count` DESC
LIMIT 1;

执行后会返回count=326、store_id=1的完整行记录。

方案3:适配最大值并列场景(MySQL 8.0+支持)

如果存在多个门店的客户数并列最大值的情况,可以用窗口函数RANK()获取所有并列第一的记录:

WITH store_stat AS (
    SELECT 
        COUNT(*) AS `count`, 
        store_id,
        RANK() OVER(ORDER BY COUNT(*) DESC) AS rank_num
    FROM sakila.customer
    GROUP BY store_id
)
SELECT `count` AS max_customer_count, store_id 
FROM store_stat 
WHERE rank_num = 1;

注意:count是SQL内置函数名,作为自定义别名使用时建议用反引号包裹,避免出现语法冲突。

内容的提问来源于stack exchange,提问作者marksman123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 22:39:00