SQL技巧之分组求和

这是CSDN问答里面有人提出的一道问题,题目如下。

表格如下:

图片说明


得出结果如下:

图片说明

求精简的SQL语句。

SQL查询语句:

with a as(
select rank() over (partition by 商店 order by 商店,sum(价钱) desc) as rowid,
商店,sum(价钱) as 价钱和,备注 from 产品 group by 备注,商店),

b as(
select 商店,价钱和,备注 from a where rowid = 1),

c as(
select 商店,sum(价钱和) as 卖出价钱和 from a group by 商店)

select c.商店,c.卖出价钱和,b.备注 as 卖出价钱最高货物,b.价钱和 as 卖出最高价格货物价格之和 
from c inner join b on c.商店 = b.商店
原文地址:https://www.cnblogs.com/guwei4037/p/4720082.html