MySQL查询时最后一行添加合计值
目录
实现方法
栗子及实现
简单建个表
SQL实现
结果展示
前言
假使我们要统计当月每天的销售额,同时要对查询数据进行合计。比如下图,我虽然查询出来了数据,如何在最后一行添加合计值呢。
知识点
WITH ROLLUP:WITH 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