一、学员问题描述:
有一个培训班学员需要针对自己工作上的问题做一下处理,对下面这张表按年月统计每个月的最大销量,每月最大销量日期,每月总销售量。
最终结果需要实现如下图效果:
二、解决方法:
实现的方法也有多种,这里只考虑通过一个查询来实现需求,按年月统计“每个月的最大销量,每月总销量”这部分功能需求比较简单,按年月做一个分组汇总查询就可以实现,但难点在于如何获取对应的【每月最大销量日期】,同时又在同一个查询中就体现,可以通过SQL语句的子查询实现,以供大家参考。
示 例:
点击下载此附件
SQL语句:
Select Format(a.日期,'yy-mm') AS 年月, a.日期 as 最大销量日期, a.销售量 as 当月最大销量, b.总销量
FROM 日销量 AS a INNER JOIN (Select format(日期,'yy-mm') AS 月份, max(销售量) AS 最大销量, sum(销售量) AS 总销量 FROM 日销量 GROUP BY format(日期,'yy-mm')) AS b
ON a.销售量 = b.最大销量 and Format(a.日期,'yy-mm')=b.月份