`
jbm3072
  • 浏览: 211224 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Mysql的with rollup功能(5.1以上版本)

阅读更多

RollUp是上卷功能,类似于数据挖掘中的上卷操作。

ROLLUp的功能和Order by功能是互斥的。

mysql> SELECT year, SUM(profit) FROM sales GROUP BY year;
+------+-------------+
| year | SUM(profit) |
+------+-------------+
| 2000 |        4525 |
| 2001 |        3010 |
+------+-------------+

 

 

 

mysql> SELECT year, SUM(profit) FROM sales GROUP BY year WITH ROLLUP;
+------+-------------+
| year | SUM(profit) |
+------+-------------+
| 2000 |        4525 |
| 2001 |        3010 |
| NULL |        7535 |
+------+-------------+

mysql> SELECT year, country, product, SUM(profit)
    ->
FROM sales
    ->
GROUP BY year, country, product;
+------+---------+------------+-------------+
| year | country | product    | SUM(profit) |
+------+---------+------------+-------------+
| 2000 | Finland | Computer   |        1500 |
| 2000 | Finland | Phone      |         100 |
| 2000 | India   | Calculator |         150 |
| 2000 | India   | Computer   |        1200 |
| 2000 | USA     | Calculator |          75 |
| 2000 | USA     | Computer   |        1500 |
| 2001 | Finland | Phone      |          10 |
| 2001 | USA     | Calculator |          50 |
| 2001 | USA     | Computer   |        2700 |
| 2001 | USA     | TV         |         250 |
+------+---------+------------+-------------+

 

mysql> SELECT year, country, product, SUM(profit)
    ->
FROM sales
    ->
GROUP BY year, country, product WITH ROLLUP;
+------+---------+------------+-------------+
| year | country | product    | SUM(profit) |
+------+---------+------------+-------------+
| 2000 | Finland | Computer   |        1500 |
| 2000 | Finland | Phone      |         100 |
| 2000 | Finland | NULL       |        1600 |
| 2000 | India   | Calculator |         150 |
| 2000 | India   | Computer   |        1200 |
|
2000 | India   | NULL       |        1350 |
| 2000 | USA     | Calculator |          75 |
| 2000 | USA     | Computer   |        1500 |
| 2000 | USA     | NULL       |        1575 |
| 2000 | NULL    | NULL       |        4525
|
| 2001 | Finland | Phone      |          10 |
| 2001 | Finland | NULL       |          10 |
| 2001 | USA     | Calculator |          50 |
| 2001 | USA     | Computer   |        2700 |
| 2001 | USA     | TV         |         250 |
| 2001 | USA     | NULL       |        3000 |
| 2001 | NULL    | NULL       |        3010 |
| NULL | NULL    | NULL       |        7535 |

+------+---------+------------+-------------+

 

0
1
分享到:
评论

相关推荐

    Sql学习第四天——SQL 关于with cube,with rollup和grouping解释及演示

    `CUBE`和`ROLLUP`是`WITH`子句中的两个特殊运算符,它们主要用于多维度数据分析和聚合操作,通常在`GROUP BY`语句中配合使用。 1. **CUBE运算符**: `CUBE`生成的结果集包含了所有可能的子集,即所选列中值的所有...

    MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要区别整理

    MySQL 5.1版本继续扩展数据库的功能。它引入了事件调度器(Event Scheduler),使数据库能够根据设定的计划自动执行任务。此外,数据库分区(Partitioning)功能的加入进一步提升了对大数据处理的能力。同时,增加了...

    使用ROLLUP函数生成报表的小计、合计

    通过以上内容的学习,我们可以看到`ROLLUP`函数在生成报表时的强大功能,特别是当需要同时展示多个级别的汇总信息时。此外,结合使用`GROUPING_ID`函数还可以使结果更加清晰易读。这为我们在日常工作中处理类似问题...

    Sql Server 分组统计并合计总数及WITH ROLLUP应用

    `GROUP BY`语句是实现这一目标的关键,而`WITH ROLLUP`是扩展这个功能的一种方法,特别适用于生成带有层次结构的小计和总计的报表。 `GROUP BY`语句用于将数据行分组成多个组,每个组由共享相同列值的行组成。例如...

    SQLServer 数据库的数据汇总完全解析(WITH ROLLUP)

    这时,WITH ROLLUP运算符就派上了用场。 WITH ROLLUP是SQL Server提供的一种高级分组方法,它允许你在查询结果中生成类似Excel透视表的层次结构汇总。当你在GROUP BY子句中使用WITH ROLLUP时,它不仅会按照指定的列...

    MySQL_v1.0.8.760

    MySQL 4.1是2004年发布的一个主要版本,引入了诸多新功能,包括增强的SQL支持,如窗口函数和WITH ROLLUP,改进的查询优化器,以及对大型数据集的支持。此外,4.1版本还增强了存储过程、触发器和视图的功能,提高了...

    group by后使用rollup子句总结

    但是,如果我们想要对分组结果进行汇总统计时,使用 `ROLLUP` 子句可以实现这一功能。 ROLLUP 子句的作用 `ROLLUP` 子句可以在 `GROUP BY` 语句中使用,用于对分组结果进行汇总统计。它可以产生多种分组,然后对...

    详解MySQL中的分组查询与连接查询语句

    group by 属性名 [having 条件表达式][ with rollup] “属性名 ”指按照该字段值进行分组;“having 条件表达式 ”用来限制分组后的显示,满足条件的结果将被显示;with rollup 将会在所有记录的最后加上一条记录,...

    sql-显示供应商供应零件的汇总列表(with rollup+coalesce)

    使用WITH ROLLUP:在group分组字段的基础上进行统计数据。 函数COALESCE(expression_1,…,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。 代码...

    Oracle分组函数之ROLLUP的基本用法

    rollup函数 本博客简单介绍一下oracle分组函数之rollup的用法,rollup函数常用于分组统计,也是属于oracle分析函数的一种 环境准备 create table dept as select * from scott.dept; create table emp as select...

    Mysql培训课件

    ### MySQL培训课件知识点梳理 #### 一、MySQL概述 ...以上知识点涵盖了MySQL的基本概念、特点优势、不同版本的区别以及各版本的新功能介绍等内容,旨在帮助学习者全面了解MySQL,并掌握其核心功能和应用场景。

    中科信軟Mysql培训课件

    - MySQL 4.1版本增加了子查询支持、字符集UTF-8、GROUP BY语句的ROLLUP功能以及mysql.user表更好的加密算法。 - MySQL 5.0版本增加了存储过程、视图、游标、触发器、XA事务支持和INFORMATION_SCHEMA系统数据库。 - ...

    group by 后 使用 rollup 子句 总结.doc

    例如,如果在 `GROUP BY` 语句后面指定了两个列 `column1` 和 `column2`,那么 `WITH ROLLUP` 将会产生以下几类分组: 1. 按 `column1` 和 `column2` 进行分组。 2. 按 `column1` 进行分组(忽略 `column2`)。 3. ...

    SQL语句中Group BY 和Rollup以及cube用法.txt

    SQL Server中的用法为group by colomn with [rollup|cube],首先要弄明白rollup 和cube,就要知道group by的用法,group by 为对列进行分组,只展现分组统计的值,而 rollup 为分层次展现,cube 为展现列中所有层次...

    前端开源库-rollup-loader

    Rollup-Loader是一款基于Rollup的加载器,它扩展了Rollup的功能,使得Rollup能够处理更复杂的项目构建需求,与Webpack等其他构建工具相媲美。 Rollup是一款模块打包工具,以其独特的"树摇"(Tree Shaking)优化而...

    rollup示例

    我们导入了三个常用的Rollup插件:`rollup-plugin-node-resolve`用于解析非相对模块,`rollup-plugin-commonjs`处理CommonJS模块,而`rollup-plugin-babel`则用于将现代JavaScript语法转换为广泛兼容的版本。...

Global site tag (gtag.js) - Google Analytics