SQL使用WITH ROLLUP子句计算每个分组的合计值

发布时间:2023年12月18日

?先来看一个示例的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_datesales_amount
2023-01-011000
2023-01-012000
2023-01-021500
2023-01-022500

执行上述查询后,我们将得到以下结果:

日期销售总额订单数
2023-01-0130002
2023-01-0240002
总计70004

可以看到,查询结果中添加了一行“总计”,显示了整体的销售总额和订单数。

?

文章来源:https://blog.csdn.net/EaSoNgo111/article/details/135056972
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。