关于SQL多类别汇总取最大值的实现

销售明细按站名、各大类中的销售收入最高的商品进行汇总。想了半天 可以用如下SQL实现:

select a.便利店名称,a.商品品类描述,round(a.销售收入max,2) as 收入,b.商品名称 from

(

select 便利店名称, 商品品类描述, max(销售收入base) as 销售收入max from

(

SELECT 便利店名称, 商品品类描述, 商品名称, sum(销售收入) AS 销售收入base FROM usmile GROUP BY 便利店名称, 商品品类描述, 商品名称 HAVING sum(销售收入)>0

) base

GROUP BY 便利店名称, 商品品类描述

) a,

(

select 便利店名称, 商品名称, max(销售收入base) as 销售收入max from

(

SELECT 便利店名称, 商品品类描述, 商品名称, sum(销售收入) AS 销售收入base FROM usmile GROUP BY 便利店名称, 商品品类描述, 商品名称 HAVING sum(销售收入)>0

) base

GROUP BY 便利店名称, 商品名称

) b

where a.便利店名称=b.便利店名称 and a.销售收入max=b.销售收入max

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。