mysql rollup举例使用
时间: 2023-10-24 20:14:45 浏览: 104
rollup示例
假设我们有一个订单表 order_table,包含以下字段:
- order_id:订单号
- customer:客户名
- order_date:订单日期
- amount:订单金额
我们可以使用如下语句,对订单表进行按照客户名和订单日期的分组,并计算每个分组的订单金额汇总,同时输出所有分组的订单金额汇总和总的订单金额汇总:
```
SELECT customer, order_date, SUM(amount)
FROM order_table
GROUP BY customer, order_date WITH ROLLUP;
```
执行该语句后,我们会得到以下结果:
```
+-----------+------------+-------------+
| customer | order_date | SUM(amount) |
+-----------+------------+-------------+
| Alice | 2019-01-01 | 100.0 |
| Alice | 2019-01-02 | 200.0 |
| Alice | NULL | 300.0 |
| Bob | 2019-01-01 | 150.0 |
| Bob | 2019-01-02 | 250.0 |
| Bob | NULL | 400.0 |
| NULL | NULL | 700.0 |
+-----------+------------+-------------+
```
从上面的结果可以看出,我们按照客户名和订单日期进行了分组,并计算了每个分组的订单金额汇总。其中,Alice 在 2019 年 1 月 1 日和 2019 年 1 月 2 日分别下了订单,订单金额分别为 100 和 200 元,订单金额汇总为 300 元;Bob 在同一天也下了订单,订单金额分别为 150 和 250 元,订单金额汇总为 400 元。此外,ROLLUP 还会输出所有分组的订单金额汇总和总的订单金额汇总,分别为 700 元和 NULL(因为这是一个总计行)。
阅读全文