当前位置: 首页 > news >正文

36、CUBE 分组

1、CUBE 

是 GROUP BY 子句的一个扩展,用于生成一个结果集,该结果集显示了所选列中所有可能的 组合 的聚合(以及总计)。

  • 它本质上是 ROLLUP 的超集,能生成更全面的分组集合。
  • 为指定的列生成所有可能的分组组合,包括小计和总计。
SELECT col1, col2, ..., aggregate_function(col)
FROM table_name
GROUP BY CUBE (col1, col2, ..., colN);

如:有两列:A 和 B。GROUP BY CUBE (A, B) 会生成以下所有分组组合:

  1. (A, B) - 按 A 和 B 的每个唯一组合进行分组。

  2. (A) - 仅按 A 进行分组(对 B 维度进行汇总)。

  3. (B) - 仅按 B 进行分组(对 A 维度进行汇总)。

  4. () - 对所有行进行总计(对 A 和 B 两个维度都进行汇总)。

分组组合的数量是 2n其中 n 是 CUBE 中的列数。对于 2 列,是 4 种组合;对于 3 列,是 8 种组合。

sales

regionproductamount
North Apple 100
North Banana 200
South Apple 150
South Banana 250

查询语句:

SELECT region, product, SUM(amount) AS total
FROM sales
GROUP BY CUBE(region, product);

结果(共 2² = 4 种分组 + 原始数据行):

regionproducttotal
North Apple 100
North Banana 200
South Apple 150
South Banana 250
North NULL 300
South NULL 400
NULL Apple 250
NULL Banana 450
NULL NULL 700

注意:CUBE(region, product) 包含了:

  • (region, product)
  • (region)
  • (product)
  • ()

ROLLUP(region, product) 只包含前三种中的 (region, product) → (region) → (),不会单独按 product 汇总。

http://www.jsqmd.com/news/44647/

相关文章:

  • CF980E The Number Games
  • 阿里云 Serverless 计算 10 月产品动态
  • 2025济南留学中介机构排名前十
  • 2025杭州最好的留学中介机构是哪家公司
  • 2025国内出国留学机构
  • 2025成都留学机构排名前十
  • 2025北京出国留学中介机构前十名有哪些
  • js 频繁点击切换两个按钮发送请求,显示最后一次发送请求的结果
  • 缝裤子 —— 北京八达岭附件 —— 河北怀来县城(张家口市)—— 2025年11月份
  • 2025年餐饮火锅底料批发厂家权威推荐榜单:袋装火锅底料/火锅底料/火锅底料牛油入境美国源头厂家精选
  • 如何通过Python SDK获取Collection中已存在的Doc
  • AI养蛊:让钓鱼邮件和反钓鱼邮件系统打一架
  • lasso
  • 当下采购管理系统开发公司哪家可靠
  • 质量好的工业吸尘器推荐:多场景适用品牌解析
  • 2025年11月岩心钻机供应商排行榜单精选
  • 工业吸尘器十大品牌推荐 2025年热门型号选购参考
  • 今年采购管理系统服务推荐榜
  • 2025年市场履带钻机供货厂家榜单Top5权威解析
  • 2025年岩心钻机供货商推荐排行榜单Top10
  • Openwrt-Ipv6设置(中继获取)
  • 今年采购管理系统开发公司推荐几家
  • 工厂用工业吸尘器选购指南与实用推荐
  • 2025年食品包装盒清废机制造厂权威推荐榜单:化妆品盒清废机/药盒清废机/礼盒自动清废机源头厂家精选
  • 2025瓷砖行业十大品牌终极推荐:聚焦耐磨防污核心性能,搭配全周期服务,打造省心装修体验
  • AI学习全景图:从大模型到RAG,从工具到变现,一条从0到1的路线
  • 洛谷 B4415:[GESP202509 四级] 排兵布阵 ← 暴力枚举法
  • 全球化仓储软件(WMS)哪家好?国内主流服务商盘点
  • sort自定义cmp
  • 846. 大学生HTML期末大作业 ―【响应式自适应个人博客网页(1页)】 Web前端网页制作 html5+css3 - 实践