【发布时间】:2026-01-18 16:30:02
【问题描述】:
我有一个具有多个分支的商店的架构。我正在尝试获取分支机构列表及其最畅销的产品类别。
这是我从查询中得到的:
select branch_name,prod_category,sum(p.prod_price*il.inv_line_qty) as
Category_Value
from w_branches b
inner join w_products p on p.branch_id= b.branch_id
inner join w_inv_line il on il.prod_id= p.prod_id
inner join w_invoices i on i.inv_id=il.inv_id
group by p.branch_id, b.branch_name,p.prod_category;
这将返回一个分支名称列表,其中包含该分支拥有的每个产品类别以及该类别的总销售额。
BRANCH_NAME PRODUCT CATEGORY TOTAL SALES
---------------- ------------------------------------
BRANCHMALL CPU 41808
BRANCH_POS Desktop 62282
BRANCH_EAST CPU 51510
BRANCH_EAST Networking 81600
BRANCH_POS CPU 22477
BRANCH_CENTRAL Desktop 126066
BRANCHMALL SSD 93154
BRANCH_NORTH CPU 217685
如您所见,分支正在重复。我只想获取分店销售额最高的类别,如下所示。
BRANCH_NAME PRODUCT CATEGORY TOTAL SALES
---------------- ------------------------------------
BRANCH_POS Desktop 62282
BRANCH_EAST Networking 81600
BRANCH_CENTRAL Desktop 126066
BRANCHMALL SSD 93154
BRANCH_NORTH CPU 217685
谢谢!
【问题讨论】:
-
请不要将解决方案添加到您的问题中。解决方案包含在答案中。由于您的问题是重复的,因此您无法回答,因此您可以改为回答重复的问题。
标签: sql oracle greatest-n-per-group