先来看一个示例的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
|
可以看到,查询结果中添加了一行“总计”,显示了整体的销售总额和订单数。