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

如何在SQL中为count列的分组统计结果添加总计行

给SQL分组查询添加总计行的解决方案

你的原SQL语句如下:

select Code, count(Code) 
from Table 
group by Code

要在查询结果中添加总计行,有两种常用实现方式:

方法一:使用UNION ALL拼接总计行

通过将原分组查询和单独统计总行数的查询结果拼接,得到包含总计的完整结果:

-- 分组统计各Code的数量
select Code, count(Code) as Count
from Table 
group by Code
union all
-- 统计所有行的总计数量
select '总计' as Code, count(Code) as Count
from Table

注意:如果Code是数值类型,需要将'总计'转换为对应类型(比如用CAST('总计' AS VARCHAR(10))),或者用NULL代替后在业务层处理显示文本。

方法二:使用ROLLUP函数(推荐)

大部分主流数据库(MySQL、SQL Server、Oracle等)支持ROLLUP函数,它会自动生成分组的总计行,搭配COALESCE函数可以将默认的NULL替换为"总计"文本:

select 
    coalesce(Code, '总计') as Code, 
    count(Code) as Count
from Table 
group by rollup(Code)

ROLLUP会在分组结果末尾添加一行总计,coalesce函数用于把Code列的NULL值替换成我们需要的"总计"标识。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 21:09:21