> 文档中心 > MySQL查询时最后一行添加合计值

MySQL查询时最后一行添加合计值

目录

前言

知识点

实现方法

 栗子及实现

简单建个表

SQL实现 

结果展示


前言

假使我们要统计当月每天的销售额,同时要对查询数据进行合计。比如下图,我虽然查询出来了数据,如何在最后一行添加合计值呢。

 

知识点

WITH ROLLUPWITH POLLUP 关键字用来在所有记录的最后加上一条记录,这条记录是上面所有记录的总和,即统计记录数量。也就是在group分组字段的基础上再进行统计数据。

使用:GROUP BY 分组与 WITH ROLLUP使用

实现方法

SELECT coalesce(字段1,'合计'),COUNT(统计字段)FROM '表名' GROUP BY 字段1WITH ROLLUP

 栗子及实现

简单建个表

DROP TABLE IF EXISTS `sale`;CREATE TABLE `sale` (  `id` int(4) NOT NULL AUTO_INCREMENT,  `saleTotal` decimal(10,2) DEFAULT NULL,  `saleDate` datetime DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

SQL实现 

SELECT coalesce(a.saleDate,'合计') saleDate,SUM(a.saleTotal) saleTotalFROM (SELECTid,saleTotal,DATE_FORMAT(saleDate, '%Y-%m-%d') saleDateFROMsaleWHEREDATE_FORMAT(saleDate, '%Y-%m-%d') BETWEEN '2022-03-01'AND '2022-03-31' ) aGROUP BY a.saleDateWITH ROLLUP

结果展示