首页/数据/NoSQL 速查/GROUP BY 修饰符与汇总行
ClickHouse56 条

GROUP BY 修饰符与汇总行

GROUP BY 支持 WITH ROLLUP、WITH CUBE、WITH TOTALS:在小计、交叉汇总与总计行上与普通分组一起返回,适合报表类查询一次取全口径。

NoSQL 速查数据更新于 2026-10-12
WITH ROLLUP按分组列从右向左逐级小计,输出层级汇总行
WITH CUBE输出所有列组合的小计
WITH TOTALS额外输出一行不分组的总计(键列为 0 或空)

示例

示例
SELECT
    region,
    product,
    sum(amount) AS total
FROM sales
GROUP BY region, product
WITH ROLLUP
ORDER BY region, product;
ROLLUP/CUBE 返回的行含默认值键(如空字符串或 0),前端展示时要与真实分组值区分。

易错点

  • WITH TOTALS 的总计行只在单机聚合中直接可用,分布式表上行为需按版本验证
  • 组合维度过高时 CUBE 输出行数会指数增长,先估算结果规模

数据来源与参考

  • ClickHouse Docs: GROUP BY clause (WITH ROLLUP/CUBE/TOTALS)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌