一、ROLLUP 修饰符的意义
GROUP BY子句允许添加WITH ROLLUP修饰符,该修饰符可以对分组后各组的某个列的结果值进行汇总,并在结果中输出,即提供更高一级的聚合操作。
因此,ROLLUP使您能够使用单个查询在多个分析级别回答问题。例如,ROLLUP可用于为OLAP(在线分析处理)操作提供支持。
现在有一个示例销售表如下:
CREATE TABLEsales
(year INT,
countryVARCHAR(20),
productVARCHAR(32),
profitINT);
先通过以下的分组查询了解下该销售表的数据:
SELECT year, country, product, SUM(profit) ASprofitFROMsalesGROUP BY year, country, product;
结果:
按年份分组后,展示利润:
SELECT year, SUM(profit) ASprofitFROMsalesGROUP BY year;/*结果*/
/*+------+--------+
| year | profit |
+------+--------+
| 2000 | 4525 |
| 2001 | 3010 |
+----