先来看一个示例的SQL查询语句,假设我们有一个名为t_sales的表,记录了销售订单的信息,包括订单日期、销售额等字段。我们想要按照订单日期进行分组,并计算每天的销售总额和总订单数,同时还希望得到整体的销售总额和订单数。
SELECT IFNULL(order_date, '总计') AS '日期', SUM(sales_amount) AS '销售总额', COUNT(*) AS '订单数' FROM t_sales GROUP BY order_date WITH ROLLUP;
它会在结果集中额外添加一行,用于显示每个分组的合计值。
例如,假设t_sales表中有以下数据:
order_date | sales_amount |
---|---|
2023-01-01 | 1000 |
2023-01-01 | 2000 |
2023-01-02 | 1500 |
2023-01-02 | 2500 |
执行上述查询后,我们将得到以下结果:
日期 | 销售总额 | 订单数 |
---|---|---|
2023-01-01 | 3000 | 2 |
2023-01-02 | 4000 | 2 |
总计 | 7000 | 4 |
可以看到,查询结果中添加了一行“总计”,显示了整体的销售总额和订单数。