SQL中的最大总和

8 sql sum subquery max

我有一个商店列表,商店内的部门和每个部门的销售情况,如此(使用子查询中的max(sales)创建,但这不是非常重要的我不认为):

toronto    baskets 500
vancouver  baskets 350
halifax    baskets 100
toronto    noodles 275
vancouver  noodles 390
halifax    noodles 120
halifax    fish    200
Run Code Online (Sandbox Code Playgroud)

我想请各个商店最畅销的部门.结果应如下所示:

toronto    baskets 500
vancouver  noodles 275
halifax    fish    200
Run Code Online (Sandbox Code Playgroud)

每当我使用GROUP BY时,它都包含我子查询中的所有列表.没有临时表,有没有一个很好的干净方法呢?

Noa*_*ter 2

这在 Oracle 中有效,其他实现可能具有不同的分析函数语法(或完全缺少它们):

select store
     , max(department) keep(dense_rank last order by sales)
     , max(sales)
  from (
        ...query that generates your results...
       )
 group by store
Run Code Online (Sandbox Code Playgroud)